Open KML File Using VBA for Excel (Google API)

This article explains how you can use VBA for Excel to open a KML File.

Note: The google earth API will only be available if you have Google Earth installed on your computer.

The first step would be to add reference to the Google Earth 1.0 Type Library. Note the version might be different on your computer.

Step 1:

In the VBA editor create a new module and copy the code below inside it:

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

This line of code will allow us to use the Sleep function in our code.

Step 2:

The code below initiates google earth and opens the KML file located in path “D:StuffBusinessTemp”, under the name “Untitled Placemark.kml” :

Sub main()
Dim appGoogleEarth As EARTHLib.ApplicationGE
Set appGoogleEarth = New EARTHLib.ApplicationGE
Sleep 5000
Call appGoogleEarth.OpenKmlFile( _
"D:StuffBusinessTempUntitled Placemark.kml", 1)
End Sub

Note: The reason for using the sleep function, is to allow Google Earth to load. If Google Earth has not finished loading and we attempt to open the KML file an error will occur.


You can download the file and code used in this article from the link below:

One thought on “Open KML File Using VBA for Excel (Google API)”

  1. Avatar
    jatay says:

    hi to all
    I Created a software in VB 2008 that in my “form1” when i click on “open image button” it display image on “picturebox1” with this format: jpg,.gif|.png,bmp,tiff ,tag.,ppm.,pgm.,kml.
    now i want in the same time “google earth” run, and this “picturebox1_image” overlay display in “google earth”.
    i can ran “google earth” but i don’t know how to add, send or open image in “google earth”.
    i run google eath by 2 below code
    Dim appGoogle As EARTHLib.ApplicationGE
    appGoogle = New EARTHLib.ApplicationGE

    now what do i do to open and display “picturbox1” in google earth?
    Then once I have selected “picturbox1” image; what would be the appropriate code to put that image into google earth?
    i wait to your help!
    please tutorial me.
    Once again; thanks for the help and any help is very much appreciated.

Leave a Reply

Your email address will not be published. Required fields are marked *