エクセルに住所録を作って、差込印刷することでよいなら
http://okwave.jp/qa1133703.html
この場合も数字だけのセルだとよいが、町名も一緒だったり、-がはいるとうまく行かないと思う。
ーー
ワードでVBAで考えてみた。
力不足で十分対応できてない。
縦書きの普通の文章なら、全文範囲指定して実行すると、数字(全角、半角)は漢数字に、-は縦棒に変換する。
表形式だと下記ではうまく行かない。
しかしはがき形式の宛名だと、差込印刷とか使うので、住所データが
エクセルやワードの表の場合があると思うので、下記は住所データが横書きでもワードの表などでは使えない。
普通の文章でも、色んな場合で下記でうまく行くかも十分テストできてない。
下記でArray()のーはダッシュで変換する縦棒で、普通の縦棒で出る文字では印刷で縦棒にならないようだ。
横書きの場合は全角ハイフンでArray()のーを置き変える。
はがきの縦書きイメージになってから、下記は1枚だけなら変換しても、多数枚のはがきの印刷は質問者はどうしているのだろう(差込印刷ですか)。
その点が質問では不明なので、下記の有効性が言えない。
ーー
下記をやってみるなら、コピーした文書を作り、そちらで
ALTキーを押しながら+F11キー
その画面で挿入ー標準モジュールの画面に貼り付けし、実行(F5キー)。
必ず文書全体をCTRLキー+「A」で範囲指定して実行。
前部に変換後の文章が出る。
ーーー
Sub test25()
c = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九", "―")
Dim ch
s = ""
For Each ch In ActiveDocument.Characters
If IsNumeric(ch) = True Then
x = StrConv(ch, vbNarrow)
s = s & c(x)
ElseIf ch = "-" Or ch = "ー" Or ch = "-" Then x = 10
s = s & c(x)
Else
s = s & ch
End If
Next
MsgBox s
'---
Selection.HomeKey Word.WdUnits.wdStory, Word.WdMovementType.wdExtend
Application.Options.ReplaceSelection = True
Selection.TypeText Text:=s
End Sub