住所検索(DLL)

住所検索をエクセル等のVBAから使用できるように DLLを用意しています
使用例は Zip_Sample.xlsです。 adZipをインストールするとユーザーデーターのフォルダに複写されます
通常は ユーザーのApplicationData\pcCircle\adZIpの中です

曖昧な住所から検索

[image]
エクセルで住所欄に住所を入力します
この時多少、曖昧な表記でも、候補をリストしますので、選択して下さい
VBAについて、要点だけ述べますと

Dim mZip As Object '住所検索オブジェクト
Set mZip = CreateObject("kyZip.cAdd")     'DLLからオブジェクトを作ります
mZip.SetCelPos Cells(nRow, 1)          'ポップアップの位置を現在のセルの下に指定します
mZip.PutAdd sZip, sAdd, 1             '入力された郵便番号と住所を渡して調べさせます
                              (最後の引数1は特定できない場合にリストから選ぶという指定です)

県・市区郡・町名と分けた入力から探す

[image]
新潟・青山で探して候補から選択しています
VBAで上と異なるのは、下記です 郵便番号・県名・市区郡・町名・ビル名を送って検索します
mZip.GetAdd sZip, sKen, sSku, sTwn, sBil, bOk
 後はソースを参照して下さい

曖昧な表記を一括して修正する

[image]

曖昧な住所を一括して、郵便番号・県名・市区郡・町名・地番・ビルに分けて市区コードを付けてセットします
県名や市区郡の一部が欠けていたりしても、特定できれば、セットします
検索できない・特定できない場合は郵便番号が空です この分だけ行毎に調べます

[image]
稲敷郡新利根町柴崎では見つからないのですが、稲敷と付くのは茨城県なので、茨城県で柴崎を探します
茨城県 稲敷市 柴崎 が正解のようです
このシートでは指定行で右クリックで、右に分割した表記をセット ダブルクリックの場合は元のセル位置にセットとなっています
詳細はソースを参照して下さい
ここでは、VBAの要点だけ述べます

mZip.SplitAdd sZip, sAdd, sKen, sSku, sTwn, sBan, sBil
郵便番号と住所表記から、県名・市区郡・町名・地番・ビル名と正しい表記にして分割します
一括の場合は、特定できない場合でもポップアップは表示しないで、郵便番号を空にして戻ります

mZip.SplitAdd sZip, sAdd, sKen, sSku, sTwn, sBan, sBil, True
一括処理で特定できなかった行については、上の命令を実行します
最後の Trueで、特定できない場合はポップアップを表示します