Sub Main 'Declare the variable that will reference the application Dim mvapp As Object 'Creates an instance of the MapViewer Application object 'and assigns it to the variable named "mvapp" Set mvapp = CreateObject("MapViewer.Application") 'Make MapViewer visible mvapp.Visible = True 'Declare Plot as Object and creates a new plot window Dim Plot As Object Set Plot = mvapp.Documents.Add(mvDocPlot) 'Declare BaseMap as object and creates the base map Dim BaseMap As Object Set BaseMap = Plot.CreateBaseMap(mvapp.ApplicationFolder + "\Samples\co2000.gsb") 'Add the point to the map (position is in X,Y in page units) Set Point = Plot.Layers.ActiveLayer.Shapes.AddPoint(5.625, 5.625) 'Select the point Point.Select 'Create 30 mile buffer around point Plot.Layers.ActiveLayer.Shapes.AutoBufferZone(BufferWidth:=30, AroundArea:=False, AroundPoint:=True, AroundCurve:=False) 'Deselect the point Point.Deselect 'The buffer is already selected, so select the area by PID (FIPS code in this example) Plot.Layers.ActiveLayer.Shapes.SelectByPID(PIDName:= "08013",Deselect:=False, Accumulative:= True) 'Intersect the areas Plot.Layers.ActiveLayer.Selection.InterSectAreas(KeepOriginalAreas:=True) 'Get area for county CountyArea = Plot.Layers.ActiveLayer.Shapes.Item("08013").Area Debug.Print CountyArea 'Get area for buffer BufferArea = Plot.Layers.ActiveLayer.Shapes.Item(Plot.Layers.ActiveLayer.Shapes.Count).Area Debug.Print BufferArea 'Get percentage Percent = BufferArea/CountyArea Debug.Print (BufferArea/CountyArea)*100 End Sub