[FONT=Calibri][SIZE=3]Private Sub LocateSites_Click()[/SIZE][/FONT]
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
[FONT=Calibri][SIZE=3]Dim objMap As MapPoint.Map[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim objDataSets As MapPoint.DataSets[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim objRecords As MapPoint.Recordset[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim objPin As MapPoint.Pushpin[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim objLoc As MapPoint.Location[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim Ws1 As Excel.Worksheet, Ws2 As Excel.Worksheet[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim intRow As Integer[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Dim Lat As Double, Lon As Double[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]'Assumes mappoint map with locations plotted already open. Only one map open.[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Set objMap = GetObject(, "MapPoint.Application.EU.16").ActiveMap[/SIZE][/FONT]
<o:p></o:p>
[FONT=Calibri][SIZE=3]Set Ws1 = Sheets("Manufacturers") 'Output geocodes for manufacturing sites here[/SIZE][/FONT]
[FONT=Calibri][SIZE=3]Set Ws2 = Sheets("Customers") 'Output geocodes for customer sites here[/SIZE][/FONT]
<o:p></o:p>
[FONT=Calibri][SIZE=3]Set objDataSets = objMap.DataSets[/SIZE][/FONT]
[SIZE=3][FONT=Calibri] For Each objDataSet In objDataSets[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If objDataSet.Name = "Manufacturers" Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objRecords = objDataSet.QueryAllRecords[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws1.Cells(1, 1).Value = "Manufacturer Name"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws1.Cells(1, 2).Value = "Latitude"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws1.Cells(1, 3).Value = "Longitude"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] intRow = 2[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] objRecords.MoveFirst[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Do While Not objRecords.EOF[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objPin = objRecords.Pushpin[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objLoc = objPin.Location[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Lat = objLoc.Latitude 'Get latitude of this location[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Lon = objLoc.Longitude 'Get longitude of this location[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws1.Cells(intRow, 1) = objPin.Name[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws1.Cells(intRow, 2).Value = Round(Lat, 6)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws1.Cells(intRow, 3).Value = Round(Lon, 6)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] intRow = intRow + 1[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] objRecords.MoveNext[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Loop[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] ElseIf objDataSet.Name = "Customers" Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objRecords = objDataSet.QueryAllRecords[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws2.Cells(1, 1).Value = "Customer Name"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws2.Cells(1, 2).Value = "Latitude"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws2.Cells(1, 3).Value = "Longitude"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] intRow = 2[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] objRecords.MoveFirst[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Do While Not objRecords.EOF[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objPin = objRecords.Pushpin[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objLoc = objPin.Location[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Lat = objLoc.Latitude 'Get latitude of this location[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Lon = objLoc.Longitude 'Get longitude of this location[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws2.Cells(intRow, 1) = objPin.Name[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws2.Cells(intRow, 2).Value = Round(Lat, 6)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Ws2.Cells(intRow, 3).Value = Round(Lon, 6)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] intRow = intRow + 1[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] objRecords.MoveNext[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Loop[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Else[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Next[/FONT][/SIZE]
<o:p></o:p>
[FONT=Calibri][SIZE=3]End Sub [/SIZE][/FONT]