Welcome to MapForums!

Register, sign in, or use Facebook Connect above to join in and participate in the forum.

When you are signed in, this message, the ads in this row, and the red-underlined link ads all go away.

Subscribe to receive our newsletter.
Subscribe Unsubscribe
Results 1 to 5 of 5

Excel VBA

This is a discussion on Excel VBA within the Development forums, part of the MapPoint Desktop Discussion category; I'm fairly new to MapPoint Europe and want to automate some routines. How can I adapt the code in the ...

  1. #1
    widdopk is offline Market Specialist Yellow Belt
    Join Date
    Apr 2009
    Location
    UK
    Posts
    18

    Excel VBA

    I'm fairly new to MapPoint Europe and want to automate some routines. How can I adapt the code in the PowerTools_v1.2EU spreadsheet to open an existing map with stores displayed rather than creating a new object and having to import the store data every time. When i've tried to open an existing map it produces an error message saying it can't find the data source.

    Thanks Keith
    Keith Widdop

  2. #2
    Eric Frost's Avatar
    Eric Frost is offline Administrator Black Belt
    Join Date
    Jul 1992
    Posts
    5,094
    Blog Entries
    4

    Re: Excel VBA

    Does your existing map have linked data that is missing?

    Eric
    ~ Order MapPoint MapPoint 2013 Here and Get Free Access to the MapForums Downloads ~
    ~~
    ~ Upgrade to Get Access to the MapForums Downloads ~

  3. #3
    widdopk is offline Market Specialist Yellow Belt
    Join Date
    Apr 2009
    Location
    UK
    Posts
    18

    Re: Excel VBA

    No, but I worked it out by making it public and the full path

    Code:
    Public Sub Open_store_Map()
    
    objApp.Visible = True
      objApp.UserControl = True
      objExcel.Visible = True
        objApp.OpenMap "C:\Maps\Stores\stores.ptm"
        objExcel.Visible = True
    Now I'm wanting to zoom to the postcode location contained in an Excel file cell A2

    Code:
     Set objLoc = objMap.FindAddressResults(Cells(2,1)(1)
     
     Set objPushpin = objMap.AddPushpin(objLoc, Cells(2, 1))
      
     objMap.DataSets.ZoomTo
      
    End sub
    Keith Widdop

  4. #4
    Wilfried is offline Senior Member Black Belt
    Join Date
    Nov 2004
    Location
    Belgium
    Posts
    2,433

    Re: Excel VBA

    Hi,

    Then you zoom to all datasets. You can also zoom to a particular dataset, but if you want to zoom to 1 location as you mentioned then use the Goto() method.

    objLoc.Goto();

  5. #5
    widdopk is offline Market Specialist Yellow Belt
    Join Date
    Apr 2009
    Location
    UK
    Posts
    18

    Re: Excel VBA

    Thanks, that makes sense.

    Now all I need to do is to update the UK postcode location from an Access query with 2 fields store code and Postcode and add a pushpin to the map

    'Add a Pushpin to the map
    Set objPin = objMap.AddPushpin(objMap.FindResults("Seattle, WA")(1))

    Dim szconn As String
    'Access database with a query to populate FindResults
    szconn = objApp.Path = "C\maps\Selectstore.mdb!PostcodeQuery"
    Set objDataSet = .LinkData(szconn,"ID", , geoCountryUnitedKingdom, , geoImportAccessQuery)

    'Update the linked set with the source file
    objDataSet.UpdateLink


    Keith Widdop

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. MPControl embedded in excel - excel loses functionality
    By ruyasan in forum MapPoint Desktop Discussion
    Replies: 2
    Last Post: 05-20-2004, 04:41 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127