VBA脚本来格式化地址

时间:2019-07-19 14:52:37

标签: vba gis arcmap

我正在尝试在Arcmap 10.4.1中添加数据以格式化地址。我以前从未使用过任何VBA或Python。这段代码在某种程度上已经奏效。我遇到了有关双重间距和重复字段的问题,例如在一个地区(城镇)和后城镇相同的情况下。我想知道是否有一种方法可以仅在存在字符的情况下才插入字段,并且是否可以仅在与LOCALITY_N不同的情况下才插入POST_TOWN

我尝试按照VBA脚本教程进行操作,以将其全部合并到一个新字段中。我在下面添加了将所有字段组合在一起的代码。

[SAO_NUM] &" " & [SAO_TEXT] &" " & [PAO_NUM] &" " & [PAO_TEXT] &" " & [STREET_DES] &" " & [LOCALITY_N] &" " & [POST_TOWN] & " " & "LANCASHIRE" & " " & [POSTCODE]

下面是一个条目示例,其中有两个空格

 UNIT 7   BROCKHOLES GARAGE WINDERMERE ROAD BROCKHOLES PRESTON LANCASHIRE PR6 0GH

下面是LOCALITY_N和POST_TOWN相同的另一个示例

  20   ROSSALL GATE PRESTON PRESTON LANCASHIRE PR7 8AB

这些是虚构的地址,但存在相同的格式问题。任何帮助或指导表示赞赏

1 个答案:

答案 0 :(得分:1)

您可以将语句封装在Replace(string,find,replacewith) vbscript函数中,该函数按照下面的代码行用" "字符串代替双精度空格""

Replace([SAO_NUM] &" " & [SAO_TEXT] &" " & [PAO_NUM] &" " & [PAO_TEXT] &" " & [STREET_DES] &" " & [LOCALITY_N] &" " & [POST_TOWN] & " " & "LANCASHIRE" & " " & [POSTCODE],"  ","")

有关此VBScript函数的更多详细信息,请参见:https://www.w3schools.com/asp/func_replace.asp