朋友布置作业,需要把一系列地点坐标转换成奥维互动地图能标识的kml文件(文本文件)。
很久没写vba代码了。
在把字符串写入kml文件的过程中,发现写入需要用 print #filenumber, str 的格式,而不是
write #filenumber, str 的格式。
用write #filenumber, str 的格式时,文本文档中会会得到额外的双引号。但是在vba的立即窗口中,输出是正常的(没有多余双引号的)。
代码如下。
可以尝试把 print 改为 write, 看看生成的kml文件有何不同?
Option Explicit
Public Sub coords2kml()
'convert coordinates to kml for 奥维互动地图
Dim kml_head As String 'unchanged text at begining of file
Dim kml_tail As String 'unchanged text at end of file
Dim kml_line As String 'line matches with individual coordinates
Dim name_cun As String 'jiezhen-cunwei-cun
Dim longtitude_cun As String
Dim latitude_cun As String
Dim kml_filename As String
kml_filename = "kml_test.kml"
kml_head = "" & Chr(13) & _
"
"
kml_tail = "
'create kml file
Open kml_filename For Append As #1
Print #1, kml_head
Print #1, kml_tail
Close #1
End Sub
希望的输出结果如下:
而把上述代码中的 print 改为 write 时,结果是这样的,注意其中多余的双引号:
"
"