0

このコードを使用して 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

ほとんどの場合、それは問題なく動作しますが、文字列が which にAddress等しいと設定しようとすると、次のようになります。Range("B" & Y)

203 Jordan, タラシー, AL

これを行うと、Google Earth の画面から出力されますが、引用された住所を直接使用すると、次のようになります: Address = "203 Jordan, Tallassee, AL"

それはうまく機能し、どこでどのようにすべきかをプロットします。Excel セルからプルするときにテキストとしてフォーマットされていることを確認しようとしましAddressたが、エラーが発生し続けます。

私は何を間違っていますか?

4

3 に答える 3

0

私はそれを考え出した。入力された 2 つの項目に違いがありました。

上司から受け取った Excel ファイルでは、彼は Tallassee のスペルを間違っていました。彼は s を 1 つだけ使用しました。私も変更する必要がありました:

> & Address & <

に:

>; Address; "<

今では正常に動作します。また、一度に多数のポイントをプロットすると、Google Earth がまだ到達していないポイントが画面外に表示されます。

于 2009-05-28T13:06:03.947 に答える
0

テキスト エディタで KML を開いて<address>、2 つのケースで行の形式が異なるかどうかを確認してください。

于 2009-05-27T23:47:32.073 に答える
0

使ってみます

Address("B" & y).Value
cstr(Address("B" & y))
于 2009-05-27T23:50:04.003 に答える