Pregunta

Estoy utilizando este código para hacer que un archivo KML:

Sub Create_KML()
' Builds KML from spread sheet
' Keyboard Shortcut: Ctrl+c
'
'Trash = Application _
'    .GetOpenFilename("Text Files (*.txt), *.txt")
'Open File For Random As #1 ' "c:\Users\mwilson\Desktop\Trash.txt
'Open "c:\Users\mwilson\Desktop\Test Google\Trash.txt" For Output As #1
Open "C:\Documents and Settings\eecoop\Desktop\10 day avg rssi Google kml\Trash.kml" For Output As #1
y = 9
Address = Range("B" & y) ' "203 Jordan, Tallassee, AL"
While Address <> ""
'**************
Print #1, "<?xml version=""1.0"" encoding=""utf-8""?>"         '1
Print #1, "<kml xmlns=""http://www.opengis.net/kml/2.2"">"     '2
Print #1, "   <Placemark>"                                        '3
Print #1, "     <name>George</name>"                           '4
Print #1, "        <Style>"                                     '5
Print #1, "           <IconStyle>"                              '6
Print #1, "               <scale>.3</scale>"                    '7
Print #1, "               <Icon>"                               '8
Print #1, "                  <href>Green.png</href>"             '9
Print #1, "               </Icon>"                             '10
Print #1, "            </IconStyle>"                            '11
Print #1, "        </Style>"                                     '12
Print #1, "     <address>" & Address & "</address>"    '13
Print #1, " </Placemark>"                                        '14
Print #1, "</kml>"                                               '15
Print #1, " "
'********
'    Range("A2").Select
        ID = ActiveCell.FormulaR1C1
'    Range("B2").Select
        Address = ActiveCell.FormulaR1C1
'    Range("C2").Select
'        RSSI = ActiveCell.FormulaR1C1
'    Trash.Write ("hi")

'    Print #1, ID
y = y + 1
Address = Range("B" & y)
Wend
    Close #1
End Sub

En su mayor parte funciona bien, excepto por el hecho de que cuando intento configurar Address igual a Range("B" & Y) que tiene la cadena:

  

203 Jordan, Tallassee, AL

Cuando hago esto, se imprime fuera de la pantalla de Google Earth mientras que si uso la dirección citado directamente, es decir .:     Dirección = "203 Jordan, Tallassee, AL"

Funciona muy bien y parcelas dónde y cómo se supone que es. He tratado de asegurarse Address tiene el formato de texto cuando se tira de la celda de Excel, pero el error sigue sucediendo.

¿Qué estoy haciendo mal?

¿Fue útil?

Solución 2

lo he descubierto. Hubo una diferencia en los dos artículos que se ingresa.

En el archivo de Excel que recibí de mi jefe, él deletrea Tallassee mal. Se utiliza un solo s. También tuve que cambiar:

> & Address & <

a:

>; Address; "<

Ahora funciona bien. Además, cuando se está trazando una gran cantidad de puntos a la vez, señala que Google Earth no ha tenido tiempo de embargo se muestran como si estuvieran fuera de la pantalla.

Otros consejos

Trate de abrir el archivo KML con un editor de texto y ver si la línea <address> tiene un formato distinto en sus 2 casos.

Me gustaría probar utilizando

Address("B" & y).Value
cstr(Address("B" & y))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top