excel vba 制作 kml 文档时,如何写入有引号的字符串

朋友布置作业,需要把一系列地点坐标转换成奥维互动地图能标识的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 = "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & "?>" & Chr(13) & _
"<kml xmlns=" & Chr(34) & "http://www.opengis.net/kml/2.2" & Chr(34) & " xmlns:gx=" & Chr(34) & "http://www.google.com/kml/ext/2.2" & Chr(34) & " xmlns:kml=" & Chr(34) & "http://www.opengis.net/kml/2.2" & Chr(34) & " xmlns:atom=" & Chr(34) & "http://www.w3.org/2005/Atom" & Chr(34) & ">" & Chr(13) & _
"<Document>"
kml_tail = "</Document>" & Chr(13) & "</kml>"

'create kml file
Open kml_filename For Append As #1
    Print #1, kml_head
    Print #1, kml_tail

Close #1


End Sub

希望的输出结果如下:

<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document>
</Document> </kml>

而把上述代码中的 print 改为 write  时,结果是这样的,注意其中多余的双引号:

"<?xml version=""1.0"" encoding=""UTF-8""?> <kml xmlns=""http://www.opengis.net/kml/2.2"" xmlns:gx=""http://www.google.com/kml/ext/2.2"" xmlns:kml=""http://www.opengis.net/kml/2.2"" xmlns:atom=""http://www.w3.org/2005/Atom""> <Document>"
"</Document> </kml>"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
制作KML边界线,可以按照以下步骤进行操作: 1. 准备数据:首先要收集所需的边界数据,例如国家、城市、单元行政区域或特定区域的边界数据。可以从相关的地理信息系统(GIS)数据库或公开的GIS数据集中获取这些数据。 2. 格式转换:将收集到的边界数据转换为KML格式。可以使用GIS软件或在线的数据转换工具来完成这个步骤。确保将边界数据导出为KML文件。 3. 编辑KML文件:使用文本编辑器或KML编辑器打开转换后的KML文件。KML文件是由XML编写的,它描述了地理信息的结构和属性。 4. 定义边界线样式:在KML文件中,可以定义边界线的样式,比如颜色、宽度和类型(实线、虚线等)。通过在KML文件中添加相应的标记和属性来进行定义。 5. 绘制边界线:要在KML文件中绘制边界线,可以使用线几何对象来定义边界的路径。在KML文件中添加线对象,并使用边界的经纬度坐标点来定义线的路径。 6. 添加边界属性:可以为每个边界线添加属性,例如名称、描述或其他相关信息。通过在KML文件中的相应标记中添加属性来完成这个步骤。 7. 保存和显示:完成边界线的编辑后,保存KML文件。可以使用Google Earth或其他支持KML格式的地理信息软件来打开和显示这个KML文件,以查看绘制出的边界线。 制作KML边界线需要收集和转换边界数据,编辑和定义KML文件,并最终保存和显示边界线。这样就可以将边界线数据与其他地理信息数据结合在一起,用于各种地理信息应用和可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值