kt電話郵便アドイン ヘルプ

【 §１ はじめに 】

--- 入力支援 / 条件設定ファイル ( kt電話郵便Addin.ini ) の 保存フォルダ変更 について ---

Ver 3.00 より、kt電話郵便Addin.ini の保存フォルダ が ユーザーアドインフォルダ ( Addins ) に
変更となります。
[ Windows10 の場合 C:\Users\ユーザー名\AppData\Roaming\Microsoft\Addins ]

Ver 2.41 以前は kt電話郵便Addin.xla/xlam と 同じ フォルダ に保存していましたが、今後は
アドイン本体の保存先に関わらず ユーザーアドインフォルダ ( Addins ) で固定となります。

既に、 Ver 2.41 にて Office アドインフォルダ ( Library ) に kt電話郵便Addin.ini が 在る方は、
恐れ入りますが マニュアル 作業にて Addins フォルダへ ファイル を移してください。

--- kt電話郵便アドイン について ---

この 『 kt電話郵便アドイン 』 では
・ 電話番号を市外局番に応じてハイフン編集
・ 郵便番号⇔住所 の 相互変換
という２つの機能を
( a ) 一括処理
( b ) ワークシート関数およびVBA関数
( c ) 入力支援機能によるシート上での リアルタイム変換
として提供します。

「電話番号のハイフン編集」 「郵便番号⇔住所変換」 ともに Ｑ＆Ａサイトで良く見掛ける質問ですが、
簡単そうでいて実際には、かなり難易度の高い処理です。処理自体もかなり複雑ですが、なによりも
元となるデータ がエクセルで素直に扱えないほど巨大なサイズである事が非常に高いハードルとして
立ちはだかっていました。

このkt電話郵便アドインの作成に際し、最終的に元となる検索データ を
電話＆郵便番号　計３５ＭＢ超　⇒　６ＭＢ程（共にExcel ワークブック ベース）
にまでコンパクト化（６分の１）する事ができました。これによりエクセルブックとしてのアドイン提供が
可能になりました。更に、検索手法の工夫による処理時間の短縮によってワークシート関数という
形での利用も可能になりました。

≪ベンチマークテスト結果 ≫ ( Ver 1.00 開発時の環境です )
[ Win98SE /PentiumⅢ /433MHz /Excel2000SR1 ]
・ ワークシート上で５０００セルにktTelEdit関数を記述して一斉に再計算させた場合で１０秒弱、
純粋にＶＢＡ内での５０００回ループなら１秒弱で完了します。
・ 大口事業者郵便番号の住所２万２千件（全国均等に別々な住所）を基にしたサンプルによる
結果（セル書出し、一括処理）
ktPost2Addr： ４分１５秒⇒０．０１２秒／件⇒１分／５千件
ktAddr2Post： ９分３０秒⇒０．０２６秒／件⇒１分弱／２千件

また、平成１３年１月以降の
「統合合併などにより廃止」された市区町村
に関するデータも収録しており。ktAddrSplit / ktAddr2Post関数および各メニュー機能でフォローして
います（廃止された市区町村名での分割編集、変更後の新市区町村名のアナウンス）。

--- Ver 3.00 での 主な変更点 ---

( a ) 配布形態 / 動作条件 等
・ サポート対応バージョン が [ Windows XP 以降 ＆ Excel 2003 SP3 以降 ] に変わりました。
・ 64bit 版 Excel 対応になります。
・ xla と共に xlam 版 を 提供します。
併せて 「リボンアタッチメント for AddinBox ( Ver 2.10 ) 」 を同梱します。
・ ヘルプファイル を WinHelp 方式 から CHM 方式 に変更します （このヘルプ）。
・ 電話郵便データベース は、今後 [ Ver 3.00 対応 ] となります。
既 リリースの [ Ver 2.30 以降対応 ] の 電話郵便データベースは利用できません。
旧住所用データベース は [ Ver 3.00 対応 ] 版の再入手が必要です。

( b ) メニュー 方式について
・ xlam 版では メニュー が リボンＵＩ になります ( xla 版 は従来通り CommandBar , Excel 2007
以降では アドインタブに収容 )。
・ 右クリックメニューは、４ メニューコマンド が [ kt電話郵便アドイン ] グループ として作成されます。
・ メニュー に AddinBox サイト をブラウザで表示する 「ＤＢダウンロード」 を追加します。
・ 「リボンアタッチメント for AddinBox 」 を 一緒に使うことにより、 xla 版でも リボンＵＩ に対応可能です。

( c ) 右クリックメニュー / 郵便⇔住所変換
住所→〒変換の場合に、変換元住所が複数セルに分かれている （県・市町村・町域などで
セルが分かれている） レイアウト をサポートします。 住所記載セルの複数セル範囲を選択して
から [ 郵便⇔住所変換 ] を呼び出すと、先頭５セル分の文字列を連結して処理します。

( d ) メニュー / 一括変換
・ 一括変換での候補表示の際に 「キャンセル」 できます。
・ 一括変換で処理中に【中断】応答を受け付けるようにします。

( e ) メニュー / 郵便住所検索
・ MsgBox 表示 ( 選択データの詳細表示 ) において、アクティブセルへの出力機能を追加します。
・ 住所フリー検索において、「選択セル（複数セル可） から読み込み」 機能を追加します。
・ 郵便番号検索において、一般住所/事業所の指定ボタンを追加します。
・ 高層ビル の 郵便番号検索 を追加しました。

( f ) メニュー / 入力支援
・ kt電話郵便Addin.ini の フォルダ を Addins フォルダ固定に変更します。
・ 登録情報一覧の [ ActiveBook ] 表示の際に 『 登録名変更 』 機能をサポートします。
・ 登録情報一覧の [ 同名ブック ] 表示の際に 『 フォルダ変更 』 機能をサポートします。

( g ) Excel 2016 において、[ メニュー / 郵便住所検索 ] 画面内の タブ の表示が乱れる不具合を修正しました。

詳しくは 更新履歴 を参照。

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2004 Allrights Reserved.


【 §２ 登録と削除 】

１．動 作 環 境
-- 開発環境 --
Windows10 ＆ Excel 2016 / 2010SP2 / 2007SP3 / 2003SP3

-- 動作環境 --
Windows XP 以降 , 64bit 可
Excel 2003 SP3 以降 , 64bit 可

２．登録作業の前に

配布ファイルを解凍すると､下記の構成のファイルに 展開されます。まず､適当なフォルダに
配布ファイルを解凍して保存してください。
(補) kt電話郵便Addin.xla ( 約 1600 KB ) , kt電話郵便Addin.xlam ( 約 640 KB )
ファイルサイズ に ２ 倍以上の違いがあるのは、 xlam の方が ZIP 圧縮されている為です。

[ リボンアタッチメント アドイン ] については こちら を参照してください。

※ ネット から ダウンロード した ファイルは、ＯＳ により セキュリティブロック されています。
解凍した上記の各ファイルも セキュリティ ブロック されています。 インストール の前に、
ファイル の プロパティ ダイアログにて 【ブロックの解除】 を行なって下さい。
( 下図は kt関数アドイン の例です )

『 kt電話郵便アドイン 』 をアドイン登録すると､EXCELの メニュー内 ( 標準メニュー or リボン ) に、
kt電話郵便の メニューコマンド が追加されます。競合を避ける為に 「ショートカットキー」 は設け
ていません。

３．kt電話郵便アドインの登録

Ver 3.00 の配布 ファイル には
( a ) 97-2003 形式 の kt電話郵便Addin.xla
( b ) 2007 形式 の kt電話郵便Addin.xlam
の ２ つ を収録しています（機能は全く同じですが、Excel 2003 以前では ( b ) の アドイン
ブック は使用できません）。

( 1 ) 今回、初めて kt電話郵便アドインを使われる方 （Excel 2007 以降） は、2007 形式の
kt電話郵便Addin.xlam を インストール した方が良いですが、下記の ( 2 ) ～ ( 4 ) を
考慮した上で決めてください。

( 2 ) メニュー機能の 「対人インターフェース での 変換処理」 だけ利用するという環境ならば、
どちらを使っても問題ありません。xlam 版の方が リボンＵＩ になっているので利用し易い
と思います。

( 3 ) 以前から kt電話郵便アドイン( xla 版 ) を利用されていて、kt電話郵便の関数をワーク
シート上で シート関数として利用している方は、97-2003 形式の kt電話郵便Addin.xla
をインストール してください。
お使いの エクセル が Excel 2007 以降であるからといって、ｘｌａｍ の方をインストール
すると、既に シート に書き込まれている 各種の kt電話郵便の関数 が リンクエラー
となります。

( 4 ) kt電話郵便Addin.xla を インストール している ＰＣ と、kt電話郵便Addin.xlam を インストール
している ＰＣ の間で、シート に kt電話郵便 の関数 を書き込んである ワークブック を 遣り取り
すると リンクエラー になります。どちらか 一方に 統一して インストール してください。
97-2003 形式の方 ( .xla ) であれば、Excel 2007以降でも利用できますので、xla に
統一した方が良いです。

( 1 ) ファイルの保存

( a ) Ver 2.41 を使っていた方は、まず最初に、 4. kt電話郵便アドインの削除 の手順で、kt電話郵便
メニューの削除 ならびに 【アドイン登録ダイアログ】のリストからの削除 を行なって下さい。

※ kt電話郵便Addin.xla から kt電話郵便Addin.xlam に切り替えをする場合には、
・ 【アドイン登録ダイアログ】の リスト からの削除
・ アドイン ファルダ から 旧ファイル( kt電話郵便Addin.xla ) の削除
を確実に行なって下さい。ファイル名が異なるので、『同じ アドイン名 の 全く別物のアドイン』 と
して扱われます。

( b ) 「kt電話郵便Addin.xla （ または kt電話郵便Addin.xlam ）」 を アドインフォルダ に保存して下さい。

アドインフォルダ には Library と Addins がありますが、kt電話郵便アドインでは、どちらのフォルダに
保存しても構いません。
( 注 ) kt電話郵便アドインで提供する アドイン関数 を ワークシート上で シート関数 として利用する事が
想定される場合は、ワークブック の フォルダ移動 等で リンクエラー を起こさない為に Library
フォルダ に保存してください。

フォルダパス や 注意事項などの詳細は 「§３ アドインフォルダ 」 で解説しています。

( c ) 電話郵便データベース 「 kt電話郵便DB.xla 」 を「 kt電話郵便Addin.xla / .xlam 」 と 同じ
フォルダに保存して下さい。
データベースファイル が、この フォルダ に存在しないと kt電話郵便アドイン は機能しません。

必要であれば、別途 AddinBox サイト より ダウンロード した 「旧住所ＤＢブック ( kt電話郵便_旧住
所DB.xla )」 も 同じように 保存します。
( 注 ) Ver 3.00 リリース に伴い、電話郵便データベース も [ Ver 3.00 対応 ] 版 になりました。
以前 ダウンロードした 旧住所データベース は利用できませんので、AddinBox サイトより再度
ダウンロードしてください。

( d ) ヘルプファイル 「 ktTelPostHelp.chm 」 を 「 kt電話郵便Addin.xla / .xlam 」 と 同じフォルダ
に保存して下さい。 ヘルプファイル が､この フォルダ に存在しないと メニュー から表示できません。

( 2 ) 「 kt電話郵便Addin.xla / .xlam 」 のアドイン登録

Excel を起動して、新規ブック にて 【 アドイン登録ダイアログ 】 を表示してください。
各バージョン での アドイン登録ダイアログ の出し方は下記の通りです。

・ Excel 2003 : [ 標準メニュー > ツール > アドイン ]
・ Excel 2007 以降 : ファイル タブ (2007 ではOffice ボタン) > オプション
> アドイン > 管理[ Excel アドイン : 設定 ]
・ Excel 2010 / 2013 : 開発タブ > アドイン
・ Excel 2016 : 開発タブ > Excel アドイン

アドインフォルダ に保存されている各種の アドイン が リスト に載っていますので、
その中から 『 kt電話郵便Addin 』 と 『 kt電話郵便DB 』 をチェック します。
必要であれば 『 kt電話郵便_旧住所DB 』 にも チェック します。

※ Excel 2013 以降 での注意事項 ( xla 版のみ ) ※
アドイン登録と同時に kt電話郵便アドインのメニューが追加されますが、xla 版 では 直ちにメニューが
表示されません。 これは、メニュー に使っている CommandBar 機能が ＳＤＩ (Single Document
Interface ) の影響を受けた為であり、アドイン登録の実施後に エクセル を再起動する事で
kt電話郵便アドイン の メニュー が表示されます。

この メニューの挙動に関しては AddinBox 内の下記記事で詳しく解説しています。
Tips27 : Excel2013/2016 アドインブックによるCommandBar メニューとアドインタブ

xlam 版 では、メニュー に リボン を使っている為、再起動しなくても、直ちにメニュータブが表示されます。

～～～ 以上 で ｋｔ電話郵便アドイン の登録は完了です。 ～～～

( 3 ) ＶＢＡ から kt電話郵便アドイン を利用する場合の準備

ＶＢＡから利用する場合は、更に BOOKごとに ＶＢＥ 画面の [ ツール ⇒ 参照設定 ] で 『 kt電話郵便Addin 』 を
チェックする必要があります。 尚、 『 kt電話郵便DB 』 をチェックする必要はありません。

４．kt電話郵便アドインの削除

(1) kt電話郵便アドインを使用している全てのBOOKについて、ＶＢＥ 画面の [ ツール ⇒ 参照設定 ] から
『 kt電話郵便Addin 』 のチェックを外します。

(2) 【 アドイン登録ダイログ 】 から 『 kt電話郵便Addin 』 のチェックを外します（ダイアログの出し方は前項を参照）。
チェックを外すと自動的に 「ｋｔ電話郵便メニュー」 も削除されます。
( Excel ウィンドウが SDI になった影響で、メニュー変更を Excel 全体に反映させるには Excel を一旦
終了する必要があります）。

アドインを解除する際は､ワークシート上にｋｔ電話郵便アドインの関数が記述されていない事を確認した上で
行ってください。 （解除は新規ブックで行なってください）

(3) アドインフォルダ から 以下のファイルを削除します。
・ kt電話郵便Addin.xla （または kt電話郵便Addin.xlam ）
・ kt電話郵便DB.xla
・ kt電話郵便_旧住所DB.xla ( 旧住所変換機能を利用していた場合 )
・ ktTelPost_Help.chm

(4) 「 kt電話郵便Addin.xla / .xlam 」 のファイルを削除した後､エクセルを起動し　【 アドイン登録ダイアログ 】 を表示
してください。 リスト の中に 『 kt電話郵便Addin 』 が残っていたら、それを選択します。そうすると､
アドイン'C:￥‥‥‥ ￥kt電話郵便Addin.xla' が見つかりません。
リストから削除しますか？
という確認ダイアログが表示されますので 「はい」 を選択します（この操作をするまでは [ kt電話郵便Addin.xla ] を
削除した後であってもリストに残り続けます）。


【 §３ ： アドイン フォルダ 】

「アドインフォルダ」 には
( 1 ) OFFICE システム アドインフォルダ ( Library フォルダ )
( 2 ) ユーザー アドインフォルダ ( Addins フォルダ )
の ２ つがあります。

どちらかの フォルダ に アドインブック を保存すると、
『 アドイン 登録 ダイアログ 』 の一覧に載ります。

※ 基本的に メニュー機能の利用が主である kt電話郵便アドインでは、どちらの アドインフォルダ に
保存しても構いません。
( 注 ) kt電話郵便アドインで提供する アドイン関数 を ワークシート上で シート関数 として
利用する事が想定される場合は、ワークブック の フォルダ移動 等で リンクエラー を
起こさない為に Library フォルダ に保存してください。

  1. OFFICE システム アドインフォルダ ( Library フォルダ )
    「シート関数」 としての利用が主体となる アドイン では、OFFICE システム アドインフォルダ に
    保存します。 Library フォルダ に保存されたアドインでは、ワークシート上にそのアドイン関数を
    記述した ワークブック を 別のフォルダ / 別のＰＣ へ移動しても リンクエラーを起こしません。

    1. Excel.exe の直下に位置し、エクセル の 「分析 ツールアドイン」 が インストール されている
      フォルダ です。

      下記の マクロ で パス を確認できます。
      MsgBox Application.LibraryPath

    2. Windows Vist 以降では、UAC ( ユーザーアカウント制御 ) の管理下にあるフォルダですので、
      保存の際には管理者 ユーザーで UAC を解除 した上で行なう必要があります。

      [ ユーザー アカウント 制御 とは ]
      http://windows.microsoft.com/ja-jp/windows/what-is-user-account-control#1TC=windows-7

      参考 : ＠ＩＴ Tips / Windowsのユーザー・アカウント制御 （UAC） を一時的に無効にする
      http://www.atmarkit.co.jp/fwin2k/win2ktips/859disuac/disuac.html

    3. OS が異なっても共通の場所となりますが、Excel の バージョン ごとに フォルダ が分かれます。
      -- Excel 2003 --
      C:\Program Files\Microsoft Office\Office11\Library

      -- Excel 2007 --
      C:\Program Files\Microsoft Office\Office12\Library

      -- Excel 2010 --
      C:\Program Files\Microsoft Office\Office14\Library

      -- Excel 2013 / 2016 --
      Excel 2013/2016 では、インストール方法によって パス が異なります。
      [ Windows インストーラーでインストール ( MSI 方式 ) ]
      C:\Program Files\Microsoft Office\Office15\Library
      [ プリインストール版 , Click-To-Run 方式 , Office365 ]
      C:\Program Files\Microsoft Office 15\root\Office15\Library

      補：Excel2016では "Office15" の部分が "Office16" になります。

      -- Windows ( 64bit ) での注意事項 --
      Excel が 32bit/64bit の違いでも パス が異なりますので注意が必要です。
      32bit 版 Excel : C:\Program Files (x86)\....
      64bit 版 Excel : C:\Program Files\....

      細かく分かれますが、最初に書いたように下記のマクロで確認できます。
      MsgBox Application.LibraryPath

    4. セル上で利用できる 「シート関数」 を提供している アドインでは、この フォルダ に保存する
      必要があります。

      その理由については、下記サイトにて詳細に解説していますが、一言で言えば、
      アドイン関数を使用している ワークブック を 『他のフォルダ、他のＰＣ、ネットワーク 等』 へ
      移動・コピーした際に 【 リンク エラー を起こさない 】
      為です。
      AddinBox / Excel の リンク の管理 と 格納 （ワークブック の移動で起きる リンクエラー の仕組み）

  2. ユーザー アドインフォルダ ( Addins フォルダ )
    1. Excel の保存ダイアログで ファイル の 種類を [ アドイン ( *.xla or *.xlam ) ] とした場合に、
      既定の保存先 として選択されるフォルダです。

      下記のマクロでパスを確認できます。
      MsgBox Application.UserLibraryPath

    2. Windows Vista 以降でも UAC 管理下からは外れているフォルダですが、『隠しフォルダ』属性ですので、
      エクスプローラー の フォルダオプションで 「全てのファイルとフォルダを表示する」 にチェックを入れておく
      必要があります。

    3. マルチインストールの場合でも、Excel の各バージョンで共通の場所となりますが、OS によって場所が異なり、
      ユーザーごとに分かれます。
      -- Windows XP --
      C:\Documents and Settings\USER NAME\Application Data\Microsoft\AddIns

      --Windows Vista 以降 --
      C:\Users\USER NAME\AppData\Roaming\Microsoft\Addins

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2015 Allrights Reserved.


【 §４ 電話郵便データベース 】

１． 配布ファイル
２． 基本データ および データ の基準日
３． [ 住所 ⇒ 郵便番号 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について
４． その他の注意事項について
５． 「旧住所」 用データベース
６． 郵便番号簿の変更履歴上の特記事項
７． kt電話郵便アドイン で提供する 「電話番号・郵便番号」 データの特徴

１．配布ファイル

kt電話郵便アドインでは、本体ソフト と データベース は別々の ワークブック にしてあります。

また、提供するデータベースブックは次の２ 種類を用意しています ( 現在は 事業者郵便番号を含む
DB ブック のみを提供しています )。 随時、最新ＤＢを下記サイトで公開しています。

Ver 3.00 リリース に併せて、電話郵便データベース も今後は [ Ver 3.00 対応 ] になります。
既 リリース の [ Ver 2.30 以降対応 ] の電話郵便データベースは利用できません。

AddinBox : http://addinbox.sakura.ne.jp/index.htm
( 旧サイト : http://www.h3.dion.ne.jp/~sakatsu/index.htm )

(1) 全国市外局番＋全国一般郵便番号＋大口事業者郵便番号
（圧縮配布ファイル：約 ２ MB ， 解凍後：約 ６ MB）
圧縮配布ファイル名 [ ktTelPost_DByymmddJ.zip ]

(2) 全国市外局番＋全国一般郵便番号
（圧縮配布ファイル：約 １ MB ， 解凍後：約 ３ MB）
圧縮配布ファイル名 [ ktTelPost_DByymmdd.zip ]

圧縮配布ファイル名は末尾"J"の有無が事業者郵便番号の有無です。yymmdd部分は、そのブックを
作成した日付です。解凍後のデータベースファイルは、どちらも同じ名前 [ kt電話郵便DB.xla ]ですが、
ファイルのプロパティに事業者郵便番号の有無/作成日付を記載してあります。

「kt電話郵便アドインVer 3.00」 本体ソフトの配布ファイルには、
[ H30/5/22 ] 作成の 【事業所郵便番号あり版】ＤＢ ( H30/4/3 作成版 を Ver 3.00 対応で再作成 )
を 同梱 しています。

最新のＤＢが必要な場合は、別途、前記 AddinBox サイト より データベースブック のみ
ダウンロード して差し替えてください。

２．基本データ および データ の基準日

市外局番情報および郵便番号情報は各々、総務省 / 日本郵便 から公開されているデータ を基にしています。

どちらの データ も度々更新が行なわれており、その都度上記の公開先にて最新版が公開されています。最新版
データ に基づく データベースブック は AddinBox サイト より ダウンロードできます。

配布ファイル名やデータベースブック の プロパティ には作成日を記載してありますが、そのデータ が何時の基準に
なるものなのかは、メニューより表示される各フォーム上に表示されています。また、[ メニュー / Version ] からも
下記のような表示で確認できます。

３． [ 住所 ⇒ 郵便番号 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について

( 1 ) 住所の内容については、日本郵便から公表されているデータに従いますので、
基本的に、これに一致しない書き方（文字）の住所では正しく検索/変換できません。

例 ： 新潟県 中頸城郡 ← ○ , 新潟県 中頚城郡 ← × ("頚" は "頸" の俗字)

どういう名前( 文字 / 字体 )で登録されているかを確認したい場合は、kt電話郵便メニューの
[ 郵便番号⇔住所検索/市区町村検索 ] にて確認して下さい。

( 2 ) 「 ヶ , ケ 」 等の 【 異字 ゆらぎ 】 は 完全サポートです。

「ヶ、ケ、が、ガ、ヵ、か」 「の、之、ノ」 「ツ、つ、っ、ッ」 については 【 異字 ゆらぎ 】 として
対応しています。 上記グループ内の何れの文字で 住所 が記載されていても 検索/変換できます。

( 例 ) [ 霞が関 , 霞ヶ関 , 霞ケ関 ] の、どれで 記載されていても 検索/変換 が可能です 。

( 3 ) 「大字 , 小字 , 字」 の 【 表記有無 ゆらぎ 】 は 一部サポートしています。

日本郵便の住所データ には、"大字" 等 を省いた住所表記で収録されています。
したがって、基本的に 「"大字" 等 を含めたままの 住所」 では検索/変換できません。

例外として、地方自治体名の直後に続く 「大字、小字、字」 についてのみ 「ゆらぎ」 として
対応しています。 このケースでは "大字"等を含んだ住所のままでも検索/変換が可能です。

-- ゆらぎ 対応 なし --
市 または 行政区 の 町域名 の中に現れる 「大字、小字、字 ( 下記の ★ の位置 ) 」 については、
表記 ゆらぎ に対応していませんので、"大字" 等を含んだ 住所 では検索/変換はできません。
〇〇 県 〇〇 市 〇〇 ★ 〇〇〇
(例) 〒013-0433 秋田県 横手市 大雄 字 西中島
〒018-3118 秋田県 能代市 二ツ井町 字 上台
日本郵便の住所データでは、上記は各々 「横手市 大雄西中島」 「能代市 二ツ井町上台」 で
収録されています

-- ゆらぎ 対応 あり --
地方公自治体 である 町名/村名 の後に続く 「大字、小字、字 ( 下記の ★ の位置 ) 」 については、
記載しても 記載していなくても、検索/変換が可能です 。
〇〇 県 〇〇 郡 〇〇 町 ★ 〇〇〇 , 〇〇 県 〇〇 郡 〇〇 村 ★ 〇〇〇
(例) 〒957-0117 新潟県 北蒲原郡聖籠町 大字 諏訪山
日本郵便の住所データでは、上記は 「北蒲原郡聖籠町 諏訪山」 で収録されています

上記の例では 「太字 部分は 地方自治体 名」 「下線部分は 町域」です。

( 4 ) 都道府県 を 省略した住所

都道府県名を省略して 市区町村名から記載された住所でも 検索/変換が可能です。
ただし、以下の ２つ については 市名 が 重複 していますので、都道県 の記載が必要です。

府中市 （ 東京都 / 広島県 ） , 伊達市 （ 北海道 / 福島県 ）

４． その他の注意事項について

( 1 ) 『郡名』 は市区町村名の 一部 として ひと続きで扱われます。 『郡名』 と 町村名 を分離する機能はありません。

( 2 ) 市町村合併などにより、平成１３年１月以降に廃止された市町村について、変更前 と 変更後の市町村名を
収録しています（ktAddrSplit / ktAddr2Post にてサポートしています）。

尚、平成１６年９月以降に変更された住所については、「旧住所」変換機能 を利用する事により、
旧住所のままでの郵便番号変換、および旧住所から新住所への変換が可能です。

( 3 ) 住所の 「読み仮名」 情報は収録していません。

( 4 ) kt電話郵便アドインを使ったマクロ を含むブックを、
『CreateObject を使ってＶＢ やAccess などから呼び出す』
という場合、呼び出すブック に設定する参照設定は
[ kt電話郵便Addin.xla/xlam ] だけではなく
[ kt電話郵便DB.xla ] に対しても必要
です。通常、エクセルでの利用では [ kt電話郵便DB.xla ] はアドイン登録により開かれますが、CreateObject
によるエクセル起動の際にはアドイン登録されただけのブックは開かれません。

５．「旧住所」 用データベース

「 旧住所 変換機能 」 で必要となるデータベースです。 詳細は「§５ 旧住所 変換機能　」 を参照してください。

Ver 3.00 リリース に併せて、電話郵便データベース も今後は [ Ver 3.00 対応 ] になります。
既 リリース の [ Ver 2.30 以降対応 ] の電話郵便データベースは利用できません。
旧住所データベース も [ Ver 3.00 対応 ] のものを 再度入手してください。

６．郵便番号簿の変更履歴上の特記事項

( 1 ) -- 山形県 酒田市 本町 --
H17/10/5 作成版 より、「山形県 酒田市 本町」 という住所に対して〒998-0043 , 〒999-6835 という
２つの郵便番号が変換候補として提示されます（それ以前は 〒998-0043 のみでした）。

これは、H17/11/1 に酒田市と合併した「旧 飽海郡松山町」 内に存在した『本町(ホンマチ)』 という
町域が、合併によって 「〒999-6835 酒田市本町(ホンマチ)」 となり、元々あった 「〒998-0043 酒田市
本町(ホンチョウ)」 と漢字表記が同じになってしまった為です。

[H18/1/9 作成版] より、「〒999-6835 酒田市 本町（旧 松山町本町）」 と独自表示するように修正しました。
郵政公社 １月末更新版にて 「〒998-0043 酒田市本町 ⇒ 酒田市本町（一～三丁目）」 と修正されました。

( 2 ) -- 群馬県 高崎市 新町 --
H17/12/2 作成版より、「群馬県 高崎市 新町」 という住所に対する郵便番号が、それ以前のものと
変わっています。
[H17/11/6 作成版]以前 ： 〒370-0831 ， [H17/12/2 作成版]以降 ： 〒370-1301

これは、H18/1/23に行なわれた「高崎市、多野郡新町、他３町村」 合併に伴い、
〒370-0831 高崎市 新町（あらまち） → 高崎市 あら町
〒370-1301 多野郡 新町 → 高崎市 新町
という地名の変更が行なわれた為です。これにより、「高崎市 新町」という地名が指し示す地域が
入れ替わってしまうという珍現象が起き、郵便番号が変わってしまったように見える結果となりました。

[H18/3/2 作成版] より、「〒370-1301 高崎市 新町（旧 多野郡新町）」 と独自表示するように修正しました。

( 3 ) -- 新潟県 新潟市西蒲区 魲 --
「〒959-0421 新潟県 新潟市西蒲区 鱸（すずき）」 という地名は正式には、その字体の俗字である「魲」
の方（新潟市役所に確認済）ですが、郵便番号簿には正字体の「鱸」 で載っています。

[H19/4/3 作成版] より、「魲」 も併記するように修正しました。

( 4 ) -- 新潟県 新潟市北区 東栄町 --
H19/3/6 作成版より、「新潟県 新潟市北区 東栄町」 という住所に対して 〒950-3104 , 〒950-3323
という２つの郵便番号が変換候補として提示されます。

これは、政令指定都市以前に
「〒950-3104 新潟市 東栄町（ヒガシサカエマチ）」
「〒950-3323 新潟市 豊栄東栄町（トヨサカ トウエイチョウ） 」 ( 旧 豊栄市 地域 )
となっていた住所が、H19/4/1 より政令指定都市への移行に伴い、共に北区となった際に、どちらも
「北区 東栄町」 と変わった為です。

[H19/5 作成版]より、「〒950-3323 新潟市北区 東栄町（旧 豊栄市）」 と独自表示するように修正しました。

( 5 ) -- 北菱電興(株) --
現在( H22.3 )、事業者郵便番号 と 一般郵便番号 で郵便番号の重複が１件あります。
事業者郵便番号 -- 『 〒920-0381 北菱電興(株) 石川県 金沢市 古府３丁目 』
一般郵便番号 -- 『 〒920-0381 石川県 金沢市 中屋 』
北菱電興の事業者郵便番号は以前から割り当てられていましたが、[ H21/5/29 更新版 ] に
おいて 『金沢市 中屋』 が追加された際に、割り当て済みの郵便番号が誤って割り当てられ
ました。
H21.11 に日本郵便に指摘しましたが、H22.3時点で未だ解消されていません （H22.1 に再度
問い合わせした際には、「どちらを直すか未だ調整が付かない状況。誤配が起きないように、この
郵便番号の郵便物には集配局で配慮している」 との回答でした）。

H30.5 ( 2018/5 ) 現在でも、重複したままです。

７．kt電話郵便アドインで提供する「電話番号・郵便番号」データの特徴

「電話番号のハイフン編集」 はＱ＆Ａサイトでも良く見掛ける質問ですが、簡単そうでいて実際には、
かなり難易度の高い処理です。

何しろ、全国の電話番号を受け取ったとして、「この番号の何桁目までが市外局番？」 という問いに
一概には答えられない、というのが 問題です。

市外局番は地域によってバラバラで、規則性が全く無い為に、結局 「ひとつひとつ調べる」 しか手が
無いという結論になります。

しかも、その 「ひとつひとつ調べる」 為に必要な、元となるデータ （ 総務省 から公開されています）が
「４万件 超／５ＭＢ 超 (Excel ブック)」 と、これまたエクセルのスペック を越えそうな規模です。
これでは、バッチ処理での 一括変換ユーティリティ としてならば 「どうにか出来ない事も無い」 という
レベルですが、瞬時の処理が要求される ワークシート関数 となると 全く使い物にはならないでしょう。
一括変換ユーティリティ においても、処理時間の短縮の為には「Access の MDB も併用せざるを得
ない」 というのが 多かったようです。

そんな 大容量データ という問題に対して、kt電話郵便アドインでは、全国の市外局番データ を、電話
交換機　などで使われている 【 番号翻訳テーブル 】 という形態で収録する事で解決しました。。

これによって、データ 容量が 「１５０行／２６ ＫＢ」 と驚異的にコンパクトになった為、エクセルブック内へ
楽々と保存でき、且つ、それによって非常に高速な検索が可能になりました。 （書き間違いではなく、
本当に 『 二十六 キロバイト 』 です）

ワークシート上で ５０００ セル に関数を記述して、一斉に再計算しても １０秒弱、純粋にＶＢＡ内での
５０００ 回ループならば １ 秒弱 で完了します（PentiumⅢ , 433MHz , Excel2000SR1 での実測値）。

もうひとつの 「 郵便番号⇔住所変換 」 も、非常に巨大なデータ
一般住所 ： １２万件・１２ ＭＢ(CSV) （ 一括ではExcel に読込めませんが分割して読み込むと約２４ ＭＢ ）
大口事業者 ： ２万件・３ＭＢ(CSV) （ Excel に読込むと、５．６ MB ）
の検索を必要とする処理です。

この元データ は 日本郵便 から公開されています。こちらは、最初からエクセルでは読み込み切れない
データ量ですので、やはりAccess のMDB を利用するのが普通でした（MSの変換ツールは IME 辞書
という形で収録）。

このデータ も 正規化 （且つ、高速検索の為の補助データ を付加） を施す事により Excel ブックベースで
住所データを ３ ＭＢ程度 （データ件数は合計で９千件程） に収める事が出来ました （事業所データ と合
わせて計 ６ ＭＢ）。

大口事業者郵便番号データの住所を基にしたサンプルによる ベンチマークテスト （セル書出し、一括処理）の結果
２万２千件（全国均等に別々な住所）
ktPost2Addr ： ４分１５秒 ⇒０．０１２秒／件⇒１分／５千件
ktAddr2Post ： ９分３０秒 ⇒０．０２６秒／件⇒１分弱／２千件
[ Win98SE / PentiumⅢ / 433MHz / Excel2000SR1 ]

このkt電話郵便アドインの作成に際し、最終的に元となる検索データを
電話＆郵便番号　計３５ＭＢ超　⇒　６ ＭＢ程（共にExcel Book ベース）
にまでコンパクト化（６分の１）する事ができました。「事業所郵便番号」が必要なければ、そのデータを取り除いて
３ ＭＢと、よりサイズを小さくした版も用意しています。尚、「読み仮名」情報は収録していませんので、ご了承願い
ます。


【 §５ 旧住所 変換機能 】

これは、別途 AddinBox サイトで公開している 『 旧住所ＤＢブック ( kt電話郵便_旧住所DB.xla ) 』 を
アドイン登録する事により機能します。『 旧住所ＤＢブック 』は下記 AddinBox サイトよりダウンロードできます。
AddinBox : http://addinbox.sakura.ne.jp/index.htm

Ver 3.00 リリース に併せて、電話郵便データベース も今後は [ Ver 3.00 対応 ] になります。
既 リリース の [ Ver 2.30 以降対応 ] の電話郵便データベースは利用できません。
旧住所データベース も [ Ver 3.00 対応 ] のものを 再度入手してください。

2018年現在で公開している 旧住所ＤＢブック ( AddinBox サイト から 下記の ３つ が １パックで提供されています )
-- 旧DB_H160930 版 --
[ H16 ( 2004 )/9/30 更新 ] 版を元にしており、H16/9月末～10月初頃の地名で収録されています。
平成の大合併 が ピーク を迎える前になります。

-- 旧DB_H190131 版 --
[ H19 ( 2007 )/1/31 更新 ] 版を元にしており、H19/3月末の地名で収録されています。
新潟県 新潟市 および 静岡県 浜松市では 政令指定都市以前の地名（"区"が付かない）で
収録されています。

-- 旧DB_H231228 版 --
[ H23 ( 2011 )/12/28 更新 ] 版を元にしており、H24/1月末の地名で収録されています。
熊本県 熊本市では 政令指定都市以前の地名（"区"が付かない）で収録されています。

この機能は、市区町村の統廃合により、（現）郵便番号簿では変換できない住所を旧住所ＤＢで再検索
するものです。

今まででも、ＤＢ内に自治体変更情報を持たせていたので、変更された住所に対して
「その住所は[ xxx ] に変更されました」
と表示するガイダンス機能は持っていましたが、これは市区町村レベルまでで、町域レベルでの対応は
できませんでした。

旧住所変換機能は、自治体変更情報に該当する住所データに対して旧住所ＤＢから再検索する機能です。
旧住所での再検索を行なうか否かの切替スイッチは
『 旧住所ＤＢブック がアドイン登録されているか否か』
になります。

ただし、変換内容のユーザー確認が必要である点から、旧住所変換機能が働くのは「対人インターフェース」
のみです。一括変換や、マクロから変換関数を利用した場合の処理では働きません。

旧住所変換機能の動作対象メニュー
・ 電話郵便メニュー/郵便⇔住所検索
 ・ 〃 /郵便/電話 入力支援
 ・ 右クリックメニュー/郵便⇔住所変換

一括処理による変換の場合には、「その住所は[xxx ]に変更されました」 または 「住所がみつかりません」 と
変換されたデータに対して、個別に右クリックメニュー「郵便⇔住所変換」で変換させてください。


【 §６ 入力支援機能について 】

郵便番号⇔住所 と 電話番号編集 の リアルタイム 変換 を提供するツールです。
この 「入力支援」 機能のメニューアイコンは、入力支援機能の状態に応じてが 下記のように変わります。

【無効】状態 （ 解除 および 一時停止 ） では 『色なしフェイスマーク』
【有効】 になっている状態では 『黄色いスマイルマーク』
( 注 ) Excel 2013 以降での xla 版 メニュー( アドインタブ )では、入力支援 を開始した ワークブック
ウィンドウ の メニュー のみで表示が変わります。複数の ワークブック を同時に開いている場合、
入力支援を開始した ウィンドウ以外では 「色なしフェイスマーク」 のままです。

--- お知らせ ---
Ver 3.00 より、変換条件設定ファイル ( kt電話郵便Addin.ini ) の 保存先が Addins フォルダ 固定
に変わりました。
以前は 「kt電話郵便Addin.xla と 同一フォルダ」 でしたが、Windows の UAC 管理下では Library フォルダ
への INI ファイル の書き込みが エラー となり、結果として 変換条件設定 の 保存ができない状態でした。
その為、UAC 管理下にない Addins フォルダ 固定に変更します。

既に、Library フォルダ 内 に kt電話郵便Addin.ini が在る方は、恐れ入りますがマニュアル
作業にて、Addins フォルダへファイル を移動してください。

( a ) 入力支援機能とは
( b ) セル範囲と変換条件の指定
( c ) 入力支援の開始・解除
( d ) 入力支援 設定情報の参照と引用
( e ) ブック を他ＰＣ へ持っていく場合
( f ) [ 郵便番号→住所 ] と [ 住所→郵便番号 ]で、
入力セル/変換出力先セルを相互に指定し合っている場合の留意事項

【 入力支援機能とは 】

アドイン側で、「ユーザーが指定したセル範囲」 を監視し、その内容が変更された際に、自動的に
『郵便番号⇔住所または電話番号編集』 変換を行ない、指定の位置に変換結果を出力する機
能です。

いままでの変換ツールでは、
・ 一括処理を、その都度、実行させる。 → マクロ 実行の手間
・ 変換関数をセルに記述する。 → 変換結果 を 『手直し』 できない
・ 変換処理するイベントマクロ を書く → マクロ の知識が必要
という問題がありましたが、この入力支援機能では
・ 入力と 【同時】 に 『郵便番号⇔住所 または 電話番号編集』 変換が自動的に行なわれる。
・ 変換結果セルが 『式』 ではないので変換結果を【手直し】する事ができる。
・ ユーザー側で 【イベントマクロ記述】 をする必要ない。
という メリット があります。

住所⇒郵便 の 検索/変換において、住所表記 等の注意点を
[ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について ]
に記してありますので参照してください。

対象セル範囲を指定して【開始】 ボタン を クリック すれば、それ以降、解除するまで、
指定セル範囲への入力と同時に リアルタイムで変換されます。

尚、同時に複数のブック/複数のシートに対して 「入力支援」 機能を働かせることは
出来ません。「入力支援」 機能が働くのは、１シートに対してのみです。

他のブック/シートに対して 「入力支援」 機能を働かせたい場合は、現在動作中の
シート に対する指定を解除し、新たにその ブック/シート に対して設定を行なう
必要があります。

「入力支援」 機能が働いている時に、対象のブック/シートに対して以下の操作を
行なうと、「入力支援」 機能は 【無効】 となります。
・ 未保存ブックの状態で開始し、その後で 「名前を付けて保存」
・ 既存ブックで開始し、その後で 「別名保存」
・ 対象シートの名前を変更
この場合、ツール/メニュー の アイコン は黄色の スマイルマーク のままですが
入力支援フォーム を開くと、無効になっている旨の メッセージ が表示され、アイ
コン も無色に戻ります。

【 セル範囲と変換条件の指定 】

「郵便番号→住所」 「住所→郵便番号」 「電話番号編集」 の各々について、テキスト
ボックス横の RefEdit ボタン を クリック して セル範囲を指定します。
(注) 「郵便番号→住所」 「住所→郵便番号」 「電話番号編集」 の３ 種全て、または
内 ２ 種の指定をする場合、異なる シート を指定する事はできません ( 同一
シート上のセル範囲のみ指定できます )。

併せて、各種変換条件を チェックボックス 等で指定します。

「郵便番号→住所」 「住所→郵便番号」 に対しては変換結果を出力する 「セル位置」 も
指定します。 なお、「電話番号」 変換は入力セルに上書き更新されます。

「郵便番号→住所」 の場合は、入力元の郵便番号を [ 〒123-4567 ] 形式に編集させる
指定もあります。 この機能を利用すると、郵便番号を数値で [ 1000001 ] と入力すると、
「東京都 千代田区 千代田」 という住所が出ると同時に入力した郵便番号も 「〒100-0001」
と編集されますので、入力効率が上がります。

--- RefEdit コントロール による セル範囲の指定について ---
セル範囲の指定は、RefEdit コントロールで行ないます。
離れた領域を一緒に選択する場合には、CTRL キーを押しながら選択します。

セル範囲選択 [ データ 末尾 まで ] を 行なう ショートカットキー ( Sfift + Ctrl + ↓ ) が
RefEdit コントロール で使えない場合には、下記 サポート技術情報 にしたがって 対処 して
ください。
-- KB 291110 --
RefEdit コントロールを Excel 内で範囲を選択するのに
キーボード ショート カットを使用することはできません。
https://support.microsoft.com/ja-jp/help/291110

RefEdit コントロール では ブック の切り換えが出来ませんので、対象ブック を アクティブ に
してから、この メニューを開きます（シートはRefEdit 入力中に切り換えできます）。

セル指定の取り消しは 【CLEAR】 ボタン を クリック します。

（注） 本アドイン特有の 「RefEdit 入力処理」 の都合上、下記のメッセージが出ている場合が
あります。 この場合、RefEdit で指定したセル範囲情報 は未だ対応する入力フィールド
に取り込まれていません。 マウスカーソル を フォーム 内に入れる事で取り込み処理が
完了します。

通常であれば、このような メッセージ は出ません （RefEdit 折畳 ウィンドウ の位置が
フォーム内にある為）。 RefEdit 折畳 ウィンドウ を フォーム が表示されていた位置から
移動した場合にありえます（折畳解除の ドロップボタン を クリック した際に、その カー
ソル位置が フォーム から外れている為）。

【 入力支援の開始・解除 】

【 登録名 】 ＆ 【 開 始 】
指定されたセル範囲について、アドイン側でイベントを監視を始め、入力の都度 『郵便番号⇔住所
/電話番号編集』 変換を行ないます（尚、設定情報の一覧を参照する際の識別キーとして、判り易い
登録名を入力してください）。

【開始】 ボタン を クリック した後は、【終了】ボタンでダイアログを閉じてください。

入力した 「登録名」 が 存在する場合 ( ブック フルパス ＆ シート 別です。ブック / シート が異なれば、
同じ登録名でも問題ありません）、設定条件に変更が有れば 上書き確認メッセージが出ます。

開始と同時に、設定した条件 （対象セル範囲、変換条件） が [ kt電話郵便Addin.ini ] という ファイル
に保存されます（このファイルは Addins フォルダ内に自動的に作成されます）。
(注) Ver 3.00 より 保存先が Addins フォルダ固定 と変わりました。以前は 「kt電話郵便Addin.xla と
同一フォルダ」 でしたが、Windows の UAC 管理下では Library フォルダへ INI ファイルを書き込む
ことができない為、UAC 管理下にない Addins フォルダ固定に変更しました。

登録情報 は 【ブック （フルパス）＆シート＆登録名】 をキーとしていますので、登録名を変えれば、
１シートに対する複数の条件設定を保存する事ができます（登録は複数できますが、１度に実行
できるのは１つです）。

次回ブックを開いた際に、同じ条件での変換処理を指示する場合には、この 保存された設定情報を
指定することにより容易に行なえます。また、類似ブックを作成した際に、登録済みの変換条件から
引用して設定する事もできます。

（注） 未保存ブックの場合には設定条件は保存されません。

【 解 除 】
アドイン側でのイベント監視を解除するボタンです。
ブックを閉じる際には 「解除」 を行なうように心掛けて下さい。

【 一時停止 】 【 再 開 】
アドイン側でのイベント監視を、一時的に停止したり再開するボタンです。
実際には
「アドイン側でのイベント監視は行なっているが、
何も処理せずに、即イベントマクロ を抜ける」
という状態です。ユーザー側で マクロ処理などを実行する際には、アドイン側での イベント監視が
負荷にならないように 「一時停止」 させるようにしてください。

なお、ユーザーマクロ から一時的に入力支援を無効にするサブルーチン（ktTelPost_SaportEnable）
も用意してあります。

※ 大量のデータを処理するようなマクロを実行する場合は 「一時停止」 やktTelPost_SaportEnable
サブルーチンではなく、「解除」 を行なってください。
「何も処理せずに即抜ける」 とはいっても、イベント監視マクロ が実行されている以上は何かしらの
負荷が掛かります。１回１回は微々たるものでも大量のデータ（多数のイベント発生）では積もり積
もって、大きな負荷（時間）になる可能性もありますので 「解除」 した方が有利です。

【 入力支援 設定情報の参照と引用 】

登録されている設定条件の情報は、フォーム下部にあるスピンボタンで右側画面を展開する事
により閲覧する事ができます。シート名横の括弧内が、登録名です。

（注） 右側画面を開くと、動作中の「入力支援」機能は【解除】されます。

リスト から選択すると、その登録内容で 「セル選択」 状態になり、変換方法の チェックボックス 等 も
設定されます。この後、右側画面を閉じて 「開始」 ボタンをクリックします。

選択セル範囲が フォーム に隠れて確認できない場合は、上部の スピンボタンで、フォーム を折り
畳んで確認して下さい。

リストは
・ ActiveBook に対する登録情報
・ ActiveBook と同名の ブック 全ての登録情報
・ 全登録情報
の ３ 種類に切り換えできます。通常は [ ActiveBook ] を選択して下さい。

[ 同名ブック ] および [ 全登録情報 ] は、
・ ブック を コピーした場合
・ ブック を別フォルダーに移動した場合
・ 新規ブック で既存ブック の情報 から引用する場合
などで、既存設定 から引用する際に利用します。

[ ActiveBook の情報のみ表示 ] では、 選択した リストデータ に対して、
「登録名」 の変更を行なうことができます。

[ 同名 ブック の情報を表示 ] では、選択した リストデータ に対して、「フォルダ」
の変更 ( ActiveBook の フォルダ へ コピー/移動 ) を行なうことができます。

下図の場合は、[ マイドキュメント > Temp > Book2.xlsx ] の登録データ ( 住所録 ) を、
[ マイドキュメント > Book2.xlsx ] の データ として コピー もしくは 移動 しています。

【 ブックを他ＰＣへ持っていく場合 】

他ＰＣ へブックを持っていく場合はエクスポート機能を利用して、設定情報を引き継げます。

ActiveBook 表示にすると 『 Export 』 ボタンが有効になります。

エクスポートすると、ActiveBook と 同一フォルダ内に ＩＮＩファイルが作成され、リスト表示され
ている [ ActiveBook 登録情報 ( 上図の赤枠内 ) ] がそのファイルに出力されます。

ＩＮＩ ファイルの名前 [ ブック名 + "_TelPostExp.ini" ]

この ＩＮＩ ファイル を ブック と一緒に他ＰＣ へ移します （ブック と 同一フォルダ にしてください）。
他ＰＣ 側で 『 Import 』 ボタンを クリック すると、ＩＮＩ ファイル内の情報が読み込まれて、登録されます。
インポート後は ＩＮＩ ファイルを削除して構いません。

【 [郵便番号→住所] と [住所→郵便番号]で、
入力セル/変換出力先セルを相互に指定し合っている場合の留意事項 】

例 ： 「 Ａ１： 〒 , Ｂ１： 住所 」 で 相互に変換先 として設定

－－ 同じ町域に複数の郵便番号があるケース －－
〒060-0905 北海道 札幌市 東区北五条東（４～７丁目）
〒065-0005 北海道 札幌市 東区北五条東（８～１７丁目）

（想定入力例-１）
Step-1 Ａ１ に "〒065-0005" を入力
Step-2 Ｂ１に "北五条東（８～１７丁目）" が変換出力される
Step-3 住所（Ｂ１） を修正して "８丁目" と変更する
Step-4 "札幌市東区北五条東" から Ａ１ への変換候補として
[ 〒060-0905/〒065-0005 ] が リストアップ されます。
最初にＡ１へ〒065-0005 と入力済みで、既に決まっているところへ再選択を求め
られる形になります。

（想定入力例-２）
Step-1 Ｂ１ へ "札幌市東区北五条東" を入力
Step-2 Ａ１ への変換候補として [ 〒060-0905/〒065-0005 ] が リストアップされる
Step-3 〒065-0005 を選択
Step-4 住所（Ｂ１） を修正して "８丁目" を書き加える
Step-5 再度、同じ変換候補（郵便番号）が リストアップ されます。

このようなケースでは、変換候補の選択を 『 キャンセル 』 して下さい。
（勿論、再度、選択/確定しても構いません）

－－ 同じ郵便番号で複数の町域があるケース －－
〒441-1324 愛知県 新城市 井道
〒441-1324 愛知県 新城市 奥井道
〒441-1324 愛知県 新城市 内井道

こちらは特に問題はありません。

（想定入力例-１）
Step-1 Ａ１ に "〒441-1324" を入力
Step-2 Ｂ１ への変換候補として [ 井道/奥井道/内井道 ] が リストアップ されます
Step-3 "奥井道" を選択
Step-4 住所（Ｂ１）を修正して 丁目番地 を書き加えます
Step-5 "新城市奥井道"としての郵便番号は１つしかないので、同じ"〒441-1324"が
書き込まれる為、支障はありません

（想定入力例-２）
Step-1 Ｂ１ へ "新城市 奥井道" を入力
Step-2 Ａ１ に "〒441-1324" が変換出力されます
Step-3 住所（Ｂ１）を修正して 丁目番地 を書き加えます
Step-4 "新城市奥井道" としての郵便番号は１つしかないので、同じ"〒441-1324" が
書き込まれる為、支障はありません

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2004 Allrights Reserved.


【 §７-１ 関数一覧 】

【電話　関連】
1. ktTelEdit
 電話番号に対して市外局番に応じたハイフン編集などを行なう関数です。

【郵便番号　関連】
2. ktPost2Addr
 全国住所の[郵便番号→住所]変換を行なう関数です。

3. ktAddr2Post
 全国住所の[住所→郵便番号]変換を行なう関数です。

4. ktPost2Office
 大口事業者の[郵便番号→住所および事業所名]変換を行なう関数です。

5. ktOffice2Post
 大口事業者郵便番号データから、事業者名の一部分を指定してフィルター検索を行なうサブルーチンです。

6. ktAddrSplit
 郵便番号簿に載っている地方自治体にしたがって、渡した住所を「都道府県/市区町村/町域」に分割する
関数です。平成１５年１月以降、統合/合併などにより廃止された市区町村名もサポートしています。

7. ktAddrCode
 住所から都道府県コード/市区町村コードを検索するサブルーチンです。

8. ktPostList
 [郵便⇔住所検索/市区町村検索]で得られるリストをＶＢＡから取得する為のサブルーチンです。

9. ktSplit
 文字列をデリミタで区切って、指定位置の部分を返す関数です。

10. kt郵便候補_抑止解除
 郵便⇔住所変換において、候補リストの表示抑止状態の解除を指示する為のサブルーチンです。

11. kt都道府県名
 市区町村から記載された住所に対する「都道府県」名を返す関数です。

12. kt住所選択
 都道府県/市区町村/町域リストから住所＆郵便番号を選択する関数です。

13. ktJapanMap2
 日本地図フォームで都道府県を選択するサブルーチンです。

14. ktTelPost_SaportEnable
 入力支援のイベント発生の有効/無効を設定するサブルーチンです。


§７-２ ktTelEdit

電話番号を市外局番の桁数に応じて編集する関数です。

【 構 文 】

ktTelPost | ( 電話番号, [区分], [携帯], [日付] )
返却値 | -- | Variant ( Integer/String/Boolean ) 型
電話番号 | -- | String 型
区分 | -- | Integer 型 (省略可, 省略時: 1)
携帯 | -- | Boolean 型 (省略可, 省略時：False )
日付 | -- | Variant (Date/String) 型 (省略可, 省略時: 本日日付)

【 返却値 】

区分の指定によって、[編集された電話番号] [市外局番のみ] [市外局番桁数] など、色々な結果を
取得できます。詳細は下記のパラメータ内容を参照して下さい。また、「電話番号入力」の入力チェック
としても利用できます。

下記の場合にエラーと判断し、
・ [電話番号] 以外を渡した(英字混ざりなど)
・ 電話番号の桁数が正しくない
・ 渡された電話番号が 「未使用」 な【局番】

区分の指定に応じて下記のエラー結果が返ります。
・ 区分 [0] の場合には、ゼロが返ります(エラーでない場合は、2～6)
・ 区分 [1～10] の場合には、渡された「電話番号」がそのまま返ります
・ 区分 [11～12] の場合には、FALSE が返ります(エラーでない場合はTRUE )

【 パラメータ 内容 】

電話番号
"0" から始まる 「９桁～１１桁」 の数字 (*1)
または、先頭に "0" が付かない 「８桁～１０桁」 の数字 (*1)

桁数は、一般電話/携帯などで異なります。
なお、ハイフンまたはカッコで編集された電話番号、
全角文字で書かれた電話番号も指定可能です。

(*1) H19/2 より、従来９桁(先頭"0"含む)だった下記地域
の電話番号が１０桁になります。
(小田原ＭＡ) 0460-D-XXXX → 0460-8D-XXXX
神奈川県足柄下群箱根町/静岡県裾野市茶畑
(神岡ＭＡ) 0578-D-XXXX → 0578-8D-XXXX
岐阜県吉城郡上宝村/飛騨市神岡町

携帯電話 ( PHS )
(11桁) [ 080-CDE-FGHJK ] [ 090-CDE-FGHJK ]
[ 070-CDE-FGHJK ]
着信課金 (10桁) [ 0120-DEF-GHJ ]
(11桁) [ 0800-DEF-GHJK ]
ＩＰ電話 (11桁) [ 050-CDEF-GHJK ]
区 分
0 | 市外局番の桁数を求める
1 (既定) | [ 0ABC-DE-XXXX ] 形式で編集
2 | [ 0ABC(DE)XXXX ] 形式で編集 但し、市内局番が無い場合は [ 0XXXXX-XXXX ]
3 | [ (0ABC)DE-XXXX ] 形式で編集
4 | [ 市外局番 ] 部分のみ返す(先頭は"0"）
5 | [ 市内局番 ] 部分のみ返す
6 | [ 加入者番号 ] 部分のみ返す
7 | [ 市内局番+加入者番号 ] で編集無し
8 | [ 市内局番+加入者番号 ] でハイフン編集
9 | [ 市内局番+加入者番号 ] でカッコ編集
10 | ハイフンまたは括弧で編集済みの電話番号からハイフン/括弧を取り除き、"0"から始まる「９桁～１１桁」の数字を返す
11 / 12 | 指定の電話番号が妥当な内容かをチェックして [ TRUE/FALSE ] を返します。 「ハイフン/括弧で編集された電話番号」 「編集されていない数字のみの電話番号」 の、どちらでも構いません。 [ 11 ] の場合は先頭 "0" 省略可 [ 12 ] 〃 省略不可
携 帯
携帯/PHS番号の区切り方は
[ 0x0-XXX-XXXXX ]
という 「３-３-５ 桁」 が本来の正しい区切りですが、
一般電話に倣い、加入者番号部分を４桁と見て
[ 0x0-XXXX-XXXX ]
と 「３-４-４ 桁」 で区切っている人も居ます。

このソフトでは、本来の「３-３-５桁」で編集していますが、
「３-４-４桁」 にしたい場合は、この引数にTRUEを指定して下さい。
FALSE ： [ 0x0-XXX-XXXXX ]　(既定)
TRUE ： [ 0x0-XXXX-XXXX ]
日 付
平成２５年 ( 2013年 ) を最後に 「市外局番の変更」 は行われて
いませんので、この引数は省略してください。

基本的には省略して下さい（本日日付と見故されます）。
市外局番には日付指定で 『変更予定』 が組まれているものがあります。
省略（本日日付）にしておけば、その変更実施日以降は自動的に
変更後の市外局番で編集されます。日付を指定した場合は、その
日付と『変更実施日』を比較して変更前/後の市外局番で編集します。

【 解 説 】

先頭 '0' が付いていない（数値書式）の電話番号も変換可能です。

既に [ 012(345)6789 ] 等のパターンで編集されている電話番号も指定したパターンで編集
し直されます。

一括変換したい場合は、kt電話郵便メニュー または 右クリックメニュー より、「電話番号編集」
を利用して下さい。

電話番号を編集する為の「市外局番」情報は総務省ＨＰで公開されているデータを元にしています。

【 使 用 例 】

=ktTelEdit("025385xxxx", 0 )       ⇒ 3
=ktTelEdit("025385xxxx", 1 )       ⇒ 025-385-xxxx
=ktTelEdit("025385xxxx", 2 )       ⇒ 025(385)xxxx
=ktTelEdit("025385xxxx", 3 )       ⇒ (025)385-xxxx
=ktTelEdit("025385xxxx", 4 )       ⇒ 025
=ktTelEdit("025385xxxx", 5 )       ⇒ 385
=ktTelEdit("025385xxxx", 6 )       ⇒ xxxx
=ktTelEdit("025385xxxx", 7 )       ⇒ 385xxxx
=ktTelEdit("025385xxxx", 8 )       ⇒ 385-xxxx
=ktTelEdit("025385xxxx", 9 )       ⇒ (385)xxxx
=ktTelEdit("025-385-xxxx", 10 )   ⇒ 025385xxxx
=ktTelEdit("025385xxx", 11 )       ⇒ FALSE (桁数不足)
=ktTelEdit("025-385-xxxx", 11 )  ⇒ TRUE (編集電話番号でもＯＫ)
=ktTelEdit("25385xxxx", 12 )       ⇒ FALSE (先頭"0"省略不可)

『UserFormでの電話番号チェックおよび編集』
Private Sub txt電話番号_ Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If (Trim(txt電話番号.Value) = "")Then
        ' 空なので何もしない
    Else
        If (ktTelEdit(txt電話番号.Value,11)=True)Then
            ' ハイフン編集で統一
            txt電話番号.Value = ktTelEdit(txt電話番号.Value,1)
        Else
            Beep
            Cancel = True
        End If
    End If
End Sub

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-３ ktPost2Addr

全国住所の [ 郵便番号→住所 ] 変換を行なう関数です。

【 構 文 】

ktPost2Addr | ( 郵便番号, [区分], [未確定], [括弧除去],
 | [補足], [空白区切] )
返却値 | -- | Variant ( String/Variant配列 ) 型
郵便番号 | -- | String 型
区分 | -- | Integer 型 (省略可, 省略時: 0)
未確定 | -- | Integer 型 (省略可, 省略時: 0)
括弧除去 | -- | Boolean 型 (省略可, 省略時: False )
補足 | -- | String 型 (省略可)
空白区切 | -- | Boolean 型 (省略可, 省略時: True )

【 返却値 】

区分 [ 9: 分割 リスト ] 以外では
「変換された住所 または エラーメッセージ または 空文字」
が返ります。

区分 [ 9: 分割 リスト ] の場合は、Array 関数によるVariant 配列が返りますので、Variant 変数で
受け取って下さい。Variant 配列の内容は下記の通りです。
（フラグ=１/２ の場合は、[ 郵便番号 ] 以降は全て空文字になります。）

[ 添字 ]
[ 0 ] フラグ (Integer 型) | 0: 確定 , 1: データなし , 2: 複数候補で未確定
[ 1 ] 郵便番号 (String 型) | 引数で指定した郵便番号が 「〒マーク無、123-4567 形式」の文字列で入ります
[ 2 ] 事業所名 (String 型) | [ 空文字 ] 固定
[ 3 ] 都道府県名 (String 型) | 変換された住所の都道府県名
[ 4 ] 市区町村名 (String 型) | 変換された住所の市区郡町村名
[ 5 ] 町域名 (String 型) | 変換された住所の町域名
[ 6 ] 丁目 (String 型) | [ 空文字 ] 固定
[ 7 ] 新市区町村 | [ 空文字 ] 固定 （廃止自治体の新名称）

※[ kt電話郵便DB.xla ] が開かれていない場合は、全て [ データなし] の内容で返ります。

【 パラメータ 内容 】

郵 便 番 号
〒マーク、ハイフンの有無は任意です。
７桁 による検索の他に、頭５桁 / 頭３桁 によるフィルター検索ができます。

５桁 / ３桁検索は必ず複数検索になりますので、候補リスト指定が必要
です (ＶＢＡのみ)。

〒マーク/ハイフンの無い郵便番号が数値として扱われると正しく処理されない
場合がありますので、数値を渡す場合は必ず文字列編集 ( Format関数/TEXT
関数 ) して７桁として下さい。
Format (郵便番号,"0000000") , TEXT(A1,"0000000")

例 ： 〒001-0011 北海道札幌市北区北十一条西
上記の〒/ハイフンを取って、セルに [ 0010011 ] という値を
入れた場合は、数値として扱われます。 これが文字列引数に
渡ると [ "10011" ] で５桁に数えられます。その場合、
『 〒100-11xx 東京都 三宅島三宅村 』
と変換されます。
区 分
変換結果を、どのように受け取るかを指定します。

0 (既定) | 住所 ( 都道府県名,市区郡町村名,町域名が 半角空白で区切られた文字列 )
1 | 都道府県名
2 | 市区郡町村名
3 | 町域名
4 | 都道府県名を省いて、市区郡町村名,町域名が 半角空白で区切られた文字列
9 | 分割 リスト （VBAのみ） ワークシート上で指定した場合 [ 0 ] として扱われます
未 確 定
変換データなし/複数候補の場合の返却値/動作を指定します。

0 (既定) | エラーメッセージで返します "使われていない郵便番号です" or "変換候補が複数あります"
1 | 空文字 [ "" ] で返します （データなし/複数候補とも）
2 | 候補 リスト表示によりユーザー選択 (Cancelボタン有効)
3 | 候補 リスト表示によりユーザー選択 (Cancelボタン無効)
変換候補 リスト ダイアログで [ Cancel ] した場合は、エラーメッセージ
"変換候補が複数あります"
が返ります。

２ or ３ （ 候補 リスト表示 ） はＶＢＡからの利用の場合にのみ指定できます。
ワークシート上で指定した場合は「０」扱いとなります（注意事項）。

※ 変換候補 リスト ダイアログは 『 モーダル表示 』 ですので、モードレス
フォーム内 から 「未確定＝２ or ３」 は利用できません。
（実行時エラーになります）
括 弧 除 去
町域名にはカッコ書きの説明が付いているものがあります。
このカッコ書きを省くかどうかを指定します。

False : 町域名のカッコ書きを省かない （既定）
True : 〃 を省く

例）
〒100-0013 東京都 千代田区霞が関（次のビルを除く）
〒100-6002 東京都 千代田区霞が関霞が関ビル（２階）
〒101-0003 東京都 千代田区一ツ橋（２丁目）
〒602-0854 京都府京都市上京区
亀屋町（河原町通荒神口東入、荒神口通河原町東入）
補 足
ＶＢＡ呼び出しで [ 未確定 ] に ２ / ３ を指定する場合に利用します。

この内容は、候補 リスト選択フォームが表示される場合に、変換元データ
( [ 郵便番号 ] 引数 ) とともに表示されます。

セルアドレス/レコード番号などの位置情報を表示するのに利用します。

例： 右クリックメニュー [ 郵便⇔住所変換 ] ではセル内容の前に
<Sheet1!A1 > などのセルアドレスを表示しています。
空 白 区 切
区分＝ ０ / ４ の場合に、都道府県・市区町村・町域の間を半角空白で
区切るか否かを指定します。

True : 半角空白で区切ります （既定）
False : 〃 区切りません

【 解 説 】

kt電話郵便メニュー[ 郵便⇔住所検索/郵便番号検索 ] の機能（一般住所郵便番号）がＶＢＡから
利用できます。

大口事業者の郵便番号による検索は [ ktPost2Office ] 関数を使います。

基本的に郵便番号（７桁） は 「ひとつの町域」 に割り当てられているものが 殆どですが、中には
複数の町域で共有しているものもあります。また、下２桁 [００] の郵便番号 （郵便番号簿では、「以下
に記述が無い場合」 の補足が付くもの、市区町村単位で割当） にも、複数の市区町村で共有する
番号が存在します。

例）
〒206-0000 東京都 多摩市
〒206-0000 東京都 稲城市

〒258-0000 神奈川県足柄上郡大井町
〒258-0000 神奈川県足柄上郡松田町
〒258-0000 神奈川県足柄上郡開成町
------------------------
〒410-0244 静岡県沼津市 西浦江梨
〒410-0244 静岡県沼津市 西浦大瀬

〒410-0867 静岡県沼津市 下小路町
〒410-0867 静岡県沼津市 下中溝
〒410-0867 静岡県沼津市 千本
〒410-0867 静岡県沼津市 出口町
〒410-0867 静岡県沼津市 西松下
〒410-0867 静岡県沼津市 本
〒410-0867 静岡県沼津市 前田
〒410-0867 静岡県沼津市 松下七反田

このような場合、プログラム からは決定できませんので、
・ ワークシート上 → エラーメッセージ or 空白
・ ＶＢＡ呼び出し → エラーメッセージ or 空白 or 下図の候補 リスト からユーザーが決定
という対処を取ることになります （「未確定」 引数で指定）。

変換候補リスト ダイアログ の 詳細は こちら を参照してください。

※ 大口事業者郵便番号データの住所を基にしたサンプルによるベンチマークテスト（セル書出し、
一括処理）の結果
２万２千件（全国均等に別々な住所）
実測値 ： ４分１５秒 ⇒０．０１２秒/件 ⇒ １分/５千件
[ Win98SE /PentiumⅢ /433MHz /Excel2000SR1 ]

【 使 用 例 】

ktPost2Addr("100-0001",0)　→　東京都 千代田区千代田
ktPost2Addr("100-0001",1)　→　東京都
ktPost2Addr("100-0001",2)　→　千代田区
ktPost2Addr("100-0001",3)　→　千代田
ktPost2Addr("100-0001",4)　→　千代田区千代田

---VBAのみ---
ktPost2Addr("100-0001",9)
    →　Array(0,"100-0001","","東京都","千代田区","千代田","","")
         という内容の配列

Private Sub txt郵便_ Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim vnt住所As Variant
    If (Trim(txt郵便.Value)="")Then
        ' 何もしない
    Else
        Call  kt郵便候補_抑止解除
        vnt住所=ktPost2Addr(txt郵便.Value,9,2,True)
        Call  kt郵便候補_抑止解除
        Select Case vnt住所(0)
            Case 0
                txt住所.Value =vnt住所(3)&""&vnt住所(4)&""&vnt住所(5)
            Case 1
                txt住所.Value =""
                MsgBox "その郵便番号は使われていません"
                Cancel =True
            Case 2
                ' 複数候補選択フォームでキャンセル(MsgBoxは不要)
                txt住所.Value =""
                Cancel =True
        End Select
    End If
End Sub

【 一般住所/大口事業者　両方を検索させる場合】
Private Sub txt郵便_ Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim vnt住所As Variant
    If (Trim(txt郵便.Value)="")Then
        ' 何もしない
    Else
        Call  kt郵便候補_抑止解除
        vnt住所=ktPost2Addr(txt郵便.Value,9,2,True)
        Call  kt郵便候補_抑止解除
        Select Case vnt住所(0)
            Case 0
                ' 一般住所
                txt事業者名.Value =""
                txt住所.Value =vnt住所(3)&""&vnt住所(4)&""&vnt住所(5)
            Case 1
                Call  kt郵便候補_抑止解除
                vnt住所=ktPost2Office(txt郵便.Value,9,2,True)
                Call  kt郵便候補_抑止解除
                Select Case vnt住所(0)
                    Case 0
                        ' 大口事業者
                        txt事業者名.Value =vnt住所(2)
                        txt住所.Value =vnt住所(3)&""&vnt住所(4)&"&vnt住所(5)&""&vnt住所(6)
                    Case 1
                        txt事業者名.Value =""
                        txt住所.Value =""
                        MsgBox "その郵便番号は使われていません"
                        Cancel =True
                    Case 2
                        ' 複数候補選択フォームでキャンセル(MsgBoxは不要)
                        txt事業者名.Value =""
                        txt住所.Value =""
                        Cancel =True
                End Select
            Case 2
                ' 複数候補選択フォームでキャンセル(MsgBoxは不要)
                txt事業者名.Value =""
                txt住所.Value =""
                Cancel =True
        End Select
    End If
End Sub

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-４ ktAddr2Post

全国住所の [ 住所 → 郵便番号 ] 変換を行なう関数です。

【 構 文 】

ktAddr2Post | ( 住所, [区分], [未確定], [補足] )
返却値 | -- | Variant ( String/Variant配列 ) 型
住所 | -- | String 型
区分 | -- | Integer 型 (省略可, 省略時: 0)
未確定 | -- | Integer 型 (省略可, 省略時: 0)
補足 | -- | String 型 (省略可)

【 返却値 】

区分 [ 9: 分割 リスト ] 以外では
「変換された郵便番号 または エラーメッセージ または 空文字」
が返ります。

郵便番号は区分に応じて〒マーク付/無の何れかになります。

区分 [ 9: 分割 リスト ] の場合は、Array 関数によるVariant 配列が返りますので、Variant 変数で
受け取って下さい。Variant 配列の内容は下記の通りです。
フラグ=１/２ の場合は、[郵便番号] 以降は全て空文字になります。
フラグ＝３ の場合（廃止自治体） は、[郵便番号～丁目] は空文字になります。

[ 添字 ]
[ 0 ] フラグ (Integer 型) | 0: 確定 , 1: データなし , 2: 複数候補で未確定 3: 廃止された自治体
[ 1 ] 郵便番号 (String 型) | 変換された郵便番号が 「〒マーク無、123-4567 形式」の文字列で入ります
[ 2 ] 事業所名 (String 型) | [ 空文字 ] 固定
[ 3 ] 都道府県名 (String 型) | 住所の [ 都道府県 ] 部分
[ 4 ] 市区町村名 (String 型) | 住所の [ 市区郡町村 ] 部分
[ 5 ] 町域名 (String 型) | 検索で得た郵便番号に対する [ 町域名 ] （引数/住所の [ 町域 ] 部分ではありません）
[ 6 ] 丁目 (String 型) | [ 空文字 ] 固定
[ 7 ] 新市区町村 | フラグ＝３の場合は、変更後の [ 新市区郡町村名 ]

※[ kt電話郵便DB.xla ] が開かれていない場合は、全て [ データなし ] の内容で返ります。

【 パラメータ 内容 】

住 所
間に 全角/半角空白 または CR/LF/TAB コード が 混在していても
構いません。したがって、TextBox 等で MultiLine モード の データ を、
そのまま渡しても大丈夫です。

住所⇒郵便 の 検索/変換において、住所表記 等の注意点を
[ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における
住所表記 の 【 ゆらぎ 】 対応について ]
に記してありますので参照してください。

合併などにより廃止された市区郡町村を指定した場合は、エラーメッセージ
内に新名称を付して返します。
"その住所は [ xxxx ] に変わりました" ( xxxxx : 新市区郡町村名 )

※ 「旧住所変換機能」 は、ktAddr2Post 関数では機能しません（対人インター
フェース機能に限定されます）。
区 分
変換結果を、どのように受け取るかを指定します。

0 (既定) | 〒123-4567 形式
1 | 123-4567 形式
9 | 分割 リスト（VBAのみ） ワークシート上で指定した場合 [ 0 ] として扱われます
未 確 定
変換データなし/複数候補の場合の返却値/動作を指定します。

0 (既定) | エラーメッセージで返します "住所が見つかりません" or "変換候補が複数あります" 廃止自治体名の場合は "その住所は [ xxxx ] に変わりました" ( xxx : 新市区郡町村名 )
1 | 空文字[""]で返します （データなし/複数候補/廃止自治体とも）
2 | 候補 リスト表示によりユーザー選択 ( Cancelボタン有効 )
3 | 候補 リスト表示によりユーザー選択 ( Cancelボタン無効 )
変換候補 リスト ダイアログで [ Cancel ] した場合は、エラーメッセージ
"変換候補が複数あります"
が返ります。

２ or ３ ( 候補 リスト 表示 ) はＶＢＡからの利用の場合にのみ指定できます。
ワークシート上で指定した場合は 「０」 扱いとなります（注意事項）。

※ 変換候補 リストダイアログは 『 モーダル表示 』 ですので、モードレス
フォーム 内から 「未確定＝２ or ３ 」 は利用する事はできません。
（実行時エラーになります）
補 足
ＶＢＡ呼び出しで [ 未確定 ] に ２ / ３ を指定する場合に利用します。

この内容は、候補 リスト選択フォームが表示される場合に、変換元データ
( [ 住所 ] 引数 ) とともに表示されます。

セルアドレス/レコード番号などの位置情報を表示するのに利用します。

例： 右クリックメニュー [ 郵便⇔住所変換 ] ではセル内容の前に
<Sheet1!A1 > などのセルアドレスを表示しています。

【 解 説 】

kt電話郵便メニュー [ 郵便⇔住所検索/住所フリー検索 ] の機能がＶＢＡから利用できます。

既に入力されている 住所データ へ郵便番号を付け加えるのに利用できます。

ただし、自治体合併などで廃止された市区郡町村名を指定した場合はエラーになります（平成１３年
１月以降に行なわれた廃止の場合は新市区郡町村名がエラーメッセージでアナウンスされます）。

指定された住所から複数の郵便番号候補が出て来る地域では 「丁目番地」 を抜いていると確定
できません（丁目番地まで入っていれば即確定できます）。

例） [ 新潟県 新潟市江南区 木津 ] で検索した場合、２つの候補が見つかります。
〒950-0206 新潟県 新潟市江南区 木津
〒950-0213 新潟県 新潟市江南区 木津工業団地

[ 新潟県 新潟市江南区 木津１丁目 ] （又は [ 新潟県 新潟市江南区 木津１ ] でも） で検索
すれば [ 〒950-0206 ] と確定できます。

もしくは、[ 新潟県 新潟市江南区 木津工 ] まで指定されていれば [ 〒950-0213 ] と確定する
事ができます。

このような場合、プログラム からは決定できませんので、
・ ワークシート上 → エラーメッセージ or 空白
・ ＶＢＡ呼び出し → エラーメッセージ or 空白 or 下図の候補 リスト からユーザーが決定
という対処を取ることになります ( [ 未確定 ] 引数で指定 )。

変換候補 リスト ダイアログ の 詳細は こちら を参照してください

※ 大口事業者郵便番号データの住所を基にしたサンプルによるベンチマークテスト（セル書出し、
一括処理）の結果
２万２千件（全国均等に別々な住所）
実測値 ： ９分３０秒 ⇒ ０．０２６秒/件 ⇒ １分弱/２千件
[ Win98SE /PentiumⅢ /433MHz /Excel2000SR1 ]

【 使 用 例 】

ktAddr2Post ("東京都千代田区千代田", 0)  →  "〒100-0001"
ktAddr2Post ("東京都千代田区千代田", 1)  →  "100-0001"
ktAddr2Post ("静岡県小笠郡浜岡町池新田", 0 )  →  "その住所は [ 御前崎市 ] に変わりました"

---VBAのみ---
ktAddr2Post ("東京都千代田区千代田", 9)
      →  Array(0,"100-0001","","東京都","千代田区","千代田","","")  という内容の配列

ktAddr2Post ("静岡県小笠郡浜岡町池新田", 9)
      →  Array(3,"","","","","","","御前崎市")  という内容の配列

Dim i As Integer
Dim vnt住所As Variant
    Call kt郵便候補_抑止解除
    For i =1 To 10
        vnt住所 = ktAddr2Post (Cells(i,2).Value,9,2,"<"&Cells(i,2).Address &">")
        Select Case vnt住所(0)
            Case 0
                Cells(i,3).Value = "〒" & vnt住所(1)
            Case 1
                Cells(i,3).Value = "住所が見つかりません"
            Case 2
                ' 複数候補選択フォームでキャンセル
                Cells(i,3).Value = "変換候補が複数あります"
            Case 3
                Cells(i,3).Value = "その住所は[" & vnt住所(7 ) & "]に変わりました"
        End Select
    Next i
    Call kt郵便候補_抑止解除

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-５ ktPost2Office

大口事業者の [ 郵便番号→住所および事業所名 ] 変換を行なう関数です。

【 構 文 】

ktPost2Office | ( 郵便番号, [区分], [未確定], [補足], [空白区切] )
返却値 | -- | Variant ( String/Variant配列 ) 型
郵便番号 | -- | String 型
区分 | -- | Integer 型 (省略可, 省略時: 6)
未確定 | -- | Integer 型 (省略可, 省略時: 0)
補足 | -- | String 型 (省略可)
空白区切 | -- | Boolean 型 (省略可, 省略時: True )

【 返却値 】

区分 [ 9: 分割 リスト ] 以外では
「変換された住所/事業所名 または エラーメッセージ または 空文字」
が返ります。

区分 [ 9: 分割 リスト ] の場合は、Array 関数 によるVariant 配列が返りますので、Variant 変数で
受け取って下さい。Variant 配列の内容は下記の通りです。
（フラグ=１/２ の場合は、[ 郵便番号 ] 以降は全て空文字になります。）

[ 添字 ]
[ 0 ] フラグ (Integer 型) | 0: 確定 , 1: データなし , 2: 複数候補で未確定
[ 1 ] 郵便番号 (String 型) | 引数で指定した郵便番号が 「〒マーク無、123-4567 形式」の文字列で入ります
[ 2 ] 事業所名 (String 型) | 変換された事業所名
[ 3 ] 都道府県名 (String 型) | 変換された住所の都道府県名
[ 4 ] 市区町村名 (String 型) | 変換された住所の市区郡町村名
[ 5 ] 町域名 (String 型) | 変換された住所の町域名
[ 6 ] 丁目 (String 型) | 変換された住所の丁目
[ 7 ] 新市区町村 | [ 空文字 ] 固定 （廃止自治体の新名称）

※[ kt電話郵便DB.xla ] が開かれていない場合、または 『 事業所なし版 』 の場合は、全て [ データなし ]
の内容で返ります。

【 パラメータ 内容 】

郵 便 番 号
〒マーク、ハイフンの有無は任意です。
７桁 による検索の他に、頭５桁 / 頭３桁 によるフィルター検索ができます。

５桁 / ３桁検索は必ず複数検索になりますので、候補リスト指定が
必要です (ＶＢＡのみ)。

〒マーク、ハイフンの有無は任意です。

〒マーク/ハイフンの無い郵便番号が数値として扱われると正しく処理されない
場合がありますので、数値を渡す場合は必ず文字列編集 ( Format関数/TEXT
関数 ) して７桁として下さい。
Format(郵便番号,"0000000") , TEXT(A1,"0000000")

例 ： 〒001-8612 札幌市北区役所
上記の〒/ハイフンを取って、セルに [ 0018612 ] という値を
入れた場合は、数値として扱われます。これが文字列引数に
渡ると [ "18612" ] で ５桁に数えられます。
その場合 『 〒186-12xx 』 という風に解釈されます。
区 分
変換結果を、どのように受け取るかを指定します。

0 | 住所(都道府県名,市区郡町村名,町域名,丁目が 半角空白で区切られた文字列)
1 | 都道府県名
2 | 市区郡町村名
3 | 町域名& 丁目 （町域名と丁目の間は半角空白）
4 | 都道府県名を省いて、市区郡町村名～丁目が 半角空白で区切られた文字列
5 | 事業所名
6 (既定) | 事業所名 & 住所 （事業所名，都道府県名～丁目 が半角空白で区切られた文字列)
7 | 事業所名 & 住所 （都道府県省略） （事業所名，市区郡町村名～丁目が 半角空白で区切られた文字列)
9 | 分割 リスト（VBAのみ） ワークシート上で指定した場合 [ 0 ] として扱われます
（注） 事業所名には空白文字が含まれるものもありますので、
区分＝６/７で得られた結果を ktSplit 関数で分割処理
しないで下さい（区分＝０を使って下さい）。
未 確 定
変換データなし/複数候補の場合の返却値/動作を指定します。

0 (既定) | エラーメッセージで返します "使われていない郵便番号です" or "変換候補が複数あります"
1 | 空文字[""] で返します（データなし/複数候補とも）
2 | 候補 リスト表示によりユーザー選択 ( Cancel ボタン有効 )
3 | 候補 リスト表示によりユーザー選択 ( Cancel ボタン無効 )
変換候補 リスト ダイアログで [ Cancel ] した場合は、エラーメッセージ
"変換候補が複数あります"
が返ります。

２ or ３ ( 候補 リスト表示 ) はＶＢＡからの利用の場合にのみ指定できます。
ワークシート上で指定した場合は「０」扱いとなります（注意事項）。

※ 変換候補 リスト ダイアログ は 『 モーダル表示 』 ですので、モードレス
フォーム内から 「未確定＝２ or ３」 で利用する事はできません。
（実行時エラーになります）
補 足
ＶＢＡ呼び出しで [ 未確定 ] に ２ / ３ を指定する場合に利用します。

この内容は、候補 リスト選択フォームが表示される場合に、変換元データ
（ [ 郵便番号 ] 引数） とともに表示されます。

セルアドレス/レコード番号などの位置情報を表示するのに利用します。

例： 右クリックメニュー [ 郵便⇔住所変換 ] ではセル内容の前に
<Sheet1!A1 > などのセルアドレスを表示しています。
空 白 区 切
区分＝０/４/６/７ の場合に、都道府県・市区町村・町域・丁目の間を半角空白で
区切るか否かを指定します。

True : 半角空白で区切ります（既定）
False : 〃 区切りません

区分＝６/７の場合、False を指定しても事業所名と住所の間には半角空白が
入ります。

【 解 説 】

kt電話郵便メニュー [ 郵便⇔住所検索/郵便番号検索 ] の機能（事業者郵便番号）がＶＢＡから
利用できます。

一般住所の郵便番号による検索は [ ktPost2Addr ] 関数を使います。

大口事業者郵便番号は「ひとつの事業者にひとつ」 というものがほとんどですが、中には 「複数の
事業所名が同じひとつの郵便番号」 を共有しているものもあります。

例)
〒036-8560 弘前大学　（本部）
〒036-8560 弘前大学　学生部
〒036-8560 弘前大学　教育学部
〒036-8560 弘前大学　生涯学習教育研究センター
〒036-8560 弘前大学　人文学部
〒036-8560 弘前大学　附属図書館
〒036-8560 弘前大学　保健管理センター
〒036-8560 弘前大学事務局　（本部）

〒036-8561 弘前大学　遺伝子実験施設
〒036-8561 弘前大学　総合情報処理センター
〒036-8561 弘前大学　理工学部
〒036-8561 弘前大学農学生命科学部

このような場合、プログラム からは決定できませんので、
・ ワークシート上 → エラーメッセージ or 空白
・ ＶＢＡ呼び出し → エラーメッセージ or 空白 or 下図の候補 リスト からユーザーが決定
という対処を取ることになります （「未確定」引数で指定）。

変換候補 リスト ダイアログ の 詳細は こちら を参照してください。

※ 大口事業者郵便番号データの住所を基にしたサンプルによるベンチマークテスト（セル書出し、
一括処理）の結果
２万２千件（全国均等に別々な住所）
実測値 ： ４分１５秒 ⇒０．０１２秒/件 ⇒ １分/５千件
[ Win98SE /PentiumⅢ /433MHz /Excel2000SR1 ]

【 使 用 例 】

ktPost2Office ("102-8688", 0) → 東京都 千代田区 九段南 １丁目６－１１（麹町郵便局私書箱第９号）
ktPost2Office ("102-8688", 1) → 東京都
ktPost2Office ("102-8688", 2) → 千代田区
ktPost2Office ("102-8688", 3) → 九段南 １丁目６－１１（麹町郵便局私書箱第９号）
ktPost2Office ("102-8688", 4) → 千代田区 九段南１丁目６－１１（麹町郵便局私書箱第９号）
ktPost2Office ("102-8688", 5) → 東京都千代田区役所
ktPost2Office ("102-8688", 6) → 東京都千代田区役所 東京都 千代田区 九段南 １丁目６－１１（麹町郵便局私書箱第９号）
ktPost2Office ("102-8688", 7) → 東京都千代田区役所 千代田区 九段南 １丁目６－１１（麹町郵便局私書箱第９号）

---VBAのみ---
ktPost2Office ("102-8688", 9)
    → Array ( 0, "102-8688", "東京都千代田区役所" ,"東京都", "千代田区", "九段南",
                  "１丁目６－１１（麹町郵便局私書箱第９号）", "")
        という内容の配列

  ＶＢＡコードの利用例は ktPost2Addr 関数の使用例を参照

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-６ ktOffice2Post

大口事業者郵便番号データ から、事業者名の 一部分を指定してフィルター検索するサブルーチンです。

【 構 文 】

Call | ktOffice2Post | ( 事業所名, 件数, 検索List )
事業所名 | -- | String 型
件数 | -- | Integer 型 ( ByRef )
検索List | -- | String 型の 動的配列 ( ByRef )

【 パラメータ 内容 】

事 業 所 名
 | 検索したい事業所の 名前の一部分 を指定します。 指定した名前でフィルター検索されます。 なお、株式会社 や ㈱ などを一緒に指定すると、郵便番号簿の登録内容 によっては検索されなくなる可能性がありますので加えないで下さい。 例 ： "日立" を指定すると、事業所名に "日立" を含む全ての事業所が 検索されます。
件 数
 | 呼び元での 変数定義 が必要です。 検索できた件数が返ります。データなしの場合はゼロ。
検索List
 | 呼び元で下記のように、動的配列として変数定義して下さい。 Dim 検索List () As String データが有れば、[ 1 To 件数, 1 To 6 ] という２次元配列で再定義されて 返ります。データ無しの場合は [ Erase ステートメント ] によって初期化さ れた状態で返ります。 サブルーチン内で検索前に初期化処理を施していますので、呼び元で 初期化( Erase ) を行なう必要はありません。 検索List の構造は下記の通りです。 検索List ( i , 1 ) : 郵便番号、〒マーク無、123-4567 形式の文字列 検索List ( i , 2 ) : 事業所名 検索List ( i , 3 ) : 都道府県名 検索List ( i , 4 ) : 市区郡町村名 検索List ( i , 5 ) : 町域名 検索List ( i , 6 ) : 丁目

※ [ kt電話郵便DB.xla ] が開かれていない場合、または 『 事業所なし版 』 の場合は、
全て [ データなし] の内容で返ります。

【 解 説 】

kt電話郵便メニュー [ 郵便⇔住所検索/事業所検索 ] の機能がＶＢＡから利用できます。

【 使 用 例 】

Dim 件数 As Integer
Dim 検索List() As String
Dim i As Integer
    Call ktOffice2Post ( "日立", 件数, 検索List )
    If ( 件数 > 0 ) Then
        With ListBox1
            .Clear
            For i =1 To 件数
                .AddItem
                .List(. ListCount -1, 0 ) = "〒"&検索List(i,1 )
                .List(. ListCount -1, 1 ) = 検索List( i, 2 )
                .List(. ListCount -1, 2 ) = 検索List( i, 3 )
                .List(. ListCount -1, 3 ) = 検索List( i, 4 )
                .List(. ListCount -1, 4 ) = 検索List( i, 5 )
                .List(. ListCount -1, 5 ) = 検索List( i, 6 )
            Next i
        End With
    Else
        With ListBox1
            .Clear
            .AddItem
            .List( 0, 0 ) = "データ無し"
        End With
    End If

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-７ ktAddrSplit

郵便番号簿に載っている地方自治体名にしたがって、
渡した住所を 「都道府県/市区郡町村/町域」 に分割する関数です。

【 構 文 】

ktAddrSplit | ( 住所, [区分] )
返却値 | -- | Variant ( String/Variant配列 ) 型
住所 | -- | String 型
区分 | -- | Integer 型 (省略可, 省略時: 0)

【 返却値 】

区分の指定に応じて、指定した 「住所」 の内容から都道府県名/市区郡町村名/町域の部分を
抽出して返します。

区分 [ 9: 分割リスト ] の場合は、Array 関数によるVariant 配列が返りますので、Variant 変数で
受け取って下さい。Variant 配列の内容は下記の通りです。

[ 添字 ]
[ 0 ] フラグ (Integer 型) | 0: 通常 , 1: 廃止自治体 , 2: 住所が見つからない
[ 1 ] 都道府県名 (String 型) | 住所 の [ 都道府県 ] 部分
[ 2 ] 市区町村名 (String 型) | 住所 の [ 市区郡町村 ] 部分
[ 3 ] 町域名 (String 型) | 住所 から 都道府県名/市区郡町村名 を除いた内容 （丁目番地 も記述している場合、一緒に、ここへ入ります）
[ 4 ] 新市区町村 | フラグ＝１の場合は、変更後の [ 新市区郡町村名 ]

廃止自治体（フラグ＝１）の場合でも [ 1 ]～[ 3 ] には、指定した住所を分割した名称が設定されます。
フラグ＝２の場合、[ 1 ]～[ 4 ] は空文字になります。

区分[ 9: 分割リスト ] 以外の場合は、指定した内容が String 型で返ります。
廃止された自治体であっても、区分[ ０ ～ ３ ] では、指定した住所の 都道府県/市区郡町村/町域 に分割
できます。

指定した住所が検索できない場合は
"住所が見つかりません"
が返ります。

※ [ kt電話郵便DB.xla ] が開かれていない場合は、全て[データなし] の内容で返ります。

【 パラメータ 内容 】

住 所
間に 全角/半角空白 または CR/LF/TAB コード が 混在していても
構いません。したがって、TextBox 等で MultiLine モード の データ を、
そのまま渡しても大丈夫です。

住所⇒郵便 の 検索/変換において、住所表記 等の注意点を
[ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における
住所表記 の 【 ゆらぎ 】 対応について ]
に記してありますので参照してください。

※ 「旧住所変換機能」 は、ktAddrSplit 関数では機能しません（対人インター
フェース機能に限定されます）。
区 分
変換結果を、どのように受け取るかを指定します。

0 (既定) | 都道府県/市区郡町村/町域 の間を 半角空白 で区切って連結した文字列
1 | 都道府県名
2 | 市区郡町村名
3 | 町域 （渡した住所から、都道府県/市区郡町村を除いた内容）
4 | 廃止された自治体の新名称（都道府県+市区郡町村） （使われている自治体の場合は空文字が返ります）
9 | 分割 リスト（VBAのみ） ワークシート上で指定した場合 [ 0 ] として扱われます
住所 に 丁目番地 も記述している場合、その内容は 「町域」 に含まれます。

【 解 説 】

他の関数では、「町域」 の結果には 郵便番号簿に登録されている内容で返りますが、
この関数の場合は、
指定した 「住所」 から 都道府県名 および 市区郡町村名 を取り除いた残り
の文字列が返ります。

現在使われている市区町村の他に、
「平成１３年１月以降」合併などにより廃止された市区町村
のデータも収録していますので、過去の住所名についても分割編集できます。
（区分＝４/９ では変更後の新名称を得る事ができます）

尚、『郡名』 は市区町村名の一部として一続きで扱われますので、
郡名　と　それ以降の町村名
を分離する機能はありません。

区分[ ０ ] で 空白区切りで得られた住所は、ktSplit 関数で分割する事もできます。

【 使 用 例 】

例）  〒100-0006 東京都 千代田区 有楽町

ktAddrSplit ( "東京都千代田区有楽町１丁目１番" , 0 ) → "東京都 千代田区 有楽町１丁目１番"
ktAddrSplit ( "東京都千代田区有楽町１丁目１番" , 1 ) → "東京都"
ktAddrSplit ( "東京都千代田区有楽町１丁目１番" , 2 ) → "千代田区"
ktAddrSplit ( "東京都千代田区有楽町１丁目１番" , 3 ) → "有楽町１丁目１番"
ktAddrSplit ( "新潟県北蒲原郡水原町１丁目" , 4 ) → "新潟県阿賀野市"

---VBAのみ---
ktAddrSplit ( "東京都千代田区有楽町１丁目１番" , 9 )
      → Array ( 0 , "東京都" , "千代田区" , "有楽町１丁目１番" , "" ) という配列
ktAddrSplit ( "新潟県北蒲原郡水原町１丁目" , 9 )
      → Array ( 1 , "新潟県" , "北蒲原郡水原町" , "１丁目" , "阿賀野市" ) という配列

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-８ ktAddrCode

住所 から 都道府県コード/市区町村コード を検索するサブルーチンです。

【 構 文 】

Call | ktAddrCode | ( 住所, 都道府県CD, 市区町村CD )
住所 | -- | String 型
都道府県CD | -- | Integer 型 ( ByRef )
市区町村CD | -- | Long 型 ( ByRef )

【 パラメータ 内容 】

住 所
 | 間に 全角/半角空白 または CR/LF/TAB コード が 混在していても 構いません。したがって、TextBox 等で MultiLine モード の データ を、 そのまま渡しても大丈夫です。 住所⇒郵便 の 検索/変換において、住所表記 等の注意点を [ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について ] に記してありますので参照してください。 ※ 「旧住所変換機能」 は、ktAddrCode サブルーチンでは機能しません。 （対人インターフェース機能に限定されます）
都道府県CD
 | 呼び元での 変数定義が必要 です。 この項目に検索結果の 「都道府県コード」 が返ります。 データなしの場合はゼロが返ります。
市区町村CD
 | 呼び元での 変数定義が必要 です。 この項目に検索結果の 「市区町村コード」 が返ります。 データなしの場合はゼロが返ります。 （注） 市区町村コードの値は 『 Integer 型 』 の上限を越えますので、 必ず 『 Long 型 』 にして下さい。

【 解 説 】

ktPostList サブルーチン を利用する際に必要な 都道府県コード と 市区町村コード (地方公共団体
コード) を求める為のサブルーチンです。

処理結果のエラー判定については 「市区町村CD」 のゼロ判定だけで充分です。
『 ( 都道府県CD = 0 ) Or ( 市区町村CD = 0 ) 』 とする必要はありません。

自治体合併などで無くなった市区町村名（H15/1以降）でも検索できますが、そのコードを ktPostList
サブルーチン に渡しても検索結果は ０ 件 になりますので注意して下さい。

（注） 以下の 『 旧住所』 については、名称変更の際に「市区町村コードの変更」 が行なわれなかった為、
旧住所用にkt電話郵便アドインが独自に割振ったコード（赤字）を返しますので御了承ください。
H17/04/01 新潟県旧新井市 (15001) → 市名変更： 妙高市 (15217)
H17/10/01 北海道旧山越郡八雲町(01001) → 郡名変更： 二海郡八雲町(01346)
H18/01/01 茨城県旧水海道市 (08001) → 市名変更： 常総市 (08211)

【 使 用 例 】

ktPostList サブルーチン 「使用例」 を参照

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-９ ktPostList

[ 郵便 ⇔ 住所検索/市区町村検索 ] で得られるリストをＶＢＡから取得する為のサブルーチンです。

【 構 文 】

Call | ktPostList | ( 都道府県CD, 市区町村CD, 件数, 郵便List )
都道府県CD | -- | Integer 型
市区町村CD | -- | Long 型
件数 | -- | Integer 型 ( ByRef )
郵便List | -- | String 型の 動的配列 ( ByRef )

【 パラメータ 内容 】

都道府県CD
 | ktAddrCode サブルーチンで取得した値を設定して下さい。
市区町村CD
 | ktAddrCode サブルーチンで取得した値を設定して下さい。
件 数
 | 呼び元での 変数定義が必要 です。 この項目に検索できた件数が返ります。 データなしの場合はゼロ。
郵便List
 | 呼び元で下記のように、動的配列として変数定義 して下さい。 Dim 郵便List () As String データが有れば、[1 To 件数 , 1 To 4 ] という２次元配列で再定義 されて返ります。 データ無しの場合は [ Erase ステートメント ] によって初期化された状態 で返ります（[件数]＝０）。 サブルーチン内で検索前に初期化処理を施していますので、呼び元で 初期化(Erase )を行なう必要はありません。 郵便Listの構造は下記の通りです。 郵便List ( i , 1 ) : 郵便番号、〒マーク無、123-4567 形式の文字列 郵便List ( i , 2 ) : 都道府県名 郵便List ( i , 3 ) : 市区郡町村名 郵便List ( i , 4 ) : 町域名 ※ [ kt電話郵便DB.xla ] が開かれていない場合は、全て [データなし] の 内容で返ります。

【 解 説 】

[ 郵便 ⇔ 住所検索/市区町村検索 ] で得られるリストがＶＢＡから取得できます。

事前に ktAddrCode サブルーチンによって都道府県コードと市区町村コードを求める必要があります。

自治体合併などで無くなった市区町村では検索できません。ただし、自治体データには平成１５年１月
以降に廃止された自治体も収録しています。その場合 ktAddrCode サブルーチンは、その自治体コード
を返しますが、そのコードを ktPostList サブルーチンに渡しても検索結果は０件になりますので注意して
下さい。

【 使 用 例 】

Dim 都道府県CD As Integer
Dim 市区町村CD As Long
Dim 件数 As Integer
Dim 郵便List() As String
Dim i As Integer

    Call ktAddrCode ( txt住所.Value , 都道府県CD , 市区町村CD )
    If ( 市区町村CD > 0 )Then
        Call ktPostList ( 都道府県CD , 市区町村CD , 件数 , 郵便List )
        If ( 件数 > 0 )Then
            With ListBox1
                .Clear
                For i  = 1 To 件数
                    .AddItem
                    .List ( .ListCount - 1 , 0 ) = "〒" & 郵便List ( i , 1 )
                    .List ( .ListCount - 1 , 1 ) = 郵便List ( i , 2 )
                    .List ( .ListCount - 1 , 2 ) = 郵便List ( i , 3 )
                    .List ( .ListCount - 1 , 3 ) = 郵便List ( i , 4 )
                Next i
            End With
        Else
            With ListBox1
                .Clear
                .AddItem
                .List ( 0 , 0 ) = "データ無し"
            End With
        End If
    Else
        With ListBox1
            .Clear
            .AddItem
            .List ( 0 , 0 ) = "データ無し"
        End With
    End If

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-１０ ktSplit

文字列を デリミタ で区切り、指定した位置の文字部分を返します。

【 構 文 】

ktSplit | ( 文字列, 位置, [デリミタ] )
返却値 | -- | String 型
文字列 | -- | String 型
位置 | -- | Integer 型
デリミタ | -- | String 型 (省略可, 省略時： 半角空白 )

【 返却値 】

文字列の中から、デリミタで区切った指定位置の部分を返します。
指定位置が文字列の長さを越えている場合は空文字が返ります。

【 パラメータ 内容 】

文字列
 | 任意の文字列を指定して下さい。
位 置
 | デリミタで区切って取り出す位置を指定します。
デリミタ
 | 文字列」の中に含まれる区切り文字（１文字）を指定します。 ２文字以上を指定した場合、先頭の１文字で処理します。 省略すれば既定の半角空白で処理されます。

【 解 説 】

ＶＢＡの Split 関数 と同等な機能の関数です。

「郵便番号→住所」 変換をワークシート上で行なう場合に、都道府県～町域を別セルに分割する
為に用意した補助関数です。

変換関数では「区分」引数で都道府県～町域を個別に取得できますので、個々の出力セルに変換
関数を記述しても分割出力が行なえますが、対象セルが多い場合に同じ検索を余計に繰り返しレス
ポンスを低下させる可能性があります。

作業セル上で変換関数から半角空白で区切った一繋がりの文字列として出力し、個々の分割セルでは、
その結果から kSplit 関数により抜き取れば、検索処理が一度で済み、負荷を減らす事ができます。

（注） ktPost2Office 関数で得られる事業所名には空白文字が含まれるものもありますので、その場合、
区分＝６/７（事業所名＋住所）の結果を処理すると事業所名の途中で分割されてしまいます。
区分＝６/７には使わずに区分＝０/４の結果に適用して下さい。

【 使 用 例 】

[A1]    123-4567
[B1]    =ktPost2Addr ( A1 , 0 )
[C1]    =ktSplit ( B1 , 1 )      ← 都道府県
[D1]    =ktSplit ( B1 , 2 )      ← 市区町村
[E1]    =ktSplit ( B1 , 3 )      ← 町域

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-１１ kt郵便候補_抑止解除

郵便⇔住所変換 において、候補リスト の 『表示抑止』 状態 の 【 解除 】 を指示する為のサブルーチンです。

【 構 文 】

Call | kt郵便候補_抑止解除 ( )

【 パラメータ 内容 】

な し

【 解 説 】

[ 郵便 ⇔ 住所 ] 変換関数には、検索結果として複数候補が有る場合、下図の 候補リスト を表示して
ユーザーに選択を委ねる機能があります。

この機能 ( 候補 リスト表示 ) を利用して バッチ処理 により多数のデータを変換した場合、非常に
頻繁に候補 リストフォーム が繰り返し表示される場合もあります。

こういう場合に、表示された 候補 リストフォーム 上から
「以後は、リスト選択不要で、エラーメッセージで良い」
と、動作条件を切り換える事が可能です。 ⇒ [ このダイアログの表示を抑止 ] にチェックを入れる

この指示を行なうと、解除処理 を実行するまで、エクセル起動中 「表示抑止」 状態のまま となります。

つまり、以後、ＶＢＡ から変換関数を 「候補 リストの表示が必要」 という 引数設定で実行 しても
候補 リスト表示 はされません。

この抑止状態は、
・ マクロ から、この [ kt郵便候補_抑止解除 ] サブルーチンを実行する
・ 電話郵便メニューから [ 候補リスト表示抑止の解除 ] を呼び出す
・ 電話郵便メニューから [ 郵便⇔住所 一括変換 ] を呼び出す
・ 右クリックメニューから [ 郵便⇔住所変換 ] を呼び出す
の 何れか が行なわれるまで解除されません。

したがって、ＶＢＡにおいて 「候補リスト表示要」 指定で変換関数を使う場合には、
「候補 リスト フォーム への ユーザー応答で 『表示抑止』 指示が行なわれる」
という可能性を常に考慮して、変換処理後には必ず この [ kt郵便候補_抑止解除 ] サブルーチンを実行
するようにして下さい。尚、変換処理の直前にも念の為に実行した方が良いでしょう。

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-１２ kt都道府県名

市区町村から記載された住所より 「都道府県」 名を返す関数です。

【 構 文 】

kt都道府県名 | ( 住所, [Flag] )
返却値 | -- | String 型
住所 | -- | String 型
Flag | -- | Boolean 型 （省略可、省略時： False ）

【 返却値 】

市区町村に対する都道府県名が返ります。
住所に記載された市区町村が見つからない場合は空文字("") が返ります。

都道府県から記載されている住所を指定した場合には
Flag = False （既定） ： 空文字 ("")
Flag = True ： 都道府県名
となります。

なお、下記の市名については、複数の都道府県で重複している為、括弧内の内容が返ります。
・ 府中市 （ 東京都/広島県 ）
・ 伊達市 （ 北海道/福島県 ）

【 パラメータ 内容 】

住 所
 | 間に 全角/半角空白 または CR/LF/TAB コード が混在していても構 いません。 したがって、TextBox 等で MultiLine モードのデータを、そのまま渡しても 大丈夫です。
F l a g
 | 都道府県 から記載されている住所の場合の処理方法を指定します。 （返却値 の項を参照）

【 解 説 】

都道府県を省略して記載された住所を、都道府県を付けた住所に修正する場合などに利用します。

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-13 kt住所選択

都道府県/市区町村/町域 の リスト ダイアログ から 住所＆郵便番号 を選択する関数です。

【 構 文 】

kt住所選択 | ( 住所, 継続, [都道府県], [市区町村] )
返却値 | -- | Boolean 型
住所 | -- | Variant 型 ( ByRef )
継続 | -- | Variant 型 ( ByRef )
都道府県 | -- | String 型 （省略可、省略時： 空文字("") ）
市区町村 | -- | String 型 （省略可、省略時： 空文字("") ）

【 返却値 】

住所を選択した場合には [ True ] 、キャンセルした場合には [ False ] が返ります。

【 パラメータ 内容 】

住 所
呼び元で 変数定義が必要 です。

この項目に、選択した住所の情報が Array 配列 として返ります。

キャンセルした場合には、この項目の内容は Array 配列ではなく
Null で返ります（キャンセル かどうかは、返却値で判定してください）。

[ 添字 ]
[ 0 ] 郵便番号 | 郵便番号 （000-0000 形式の文字列）
[ 1 ] 都道府県名 |
[ 2 ] 市区町村名 |
[ 3 ] 町域 |
[ 4 ] 町域括弧 | 町域の後に括弧書きで記されている内容
[ 5 ] 都道府県コード | ( 数値 )
[ 6 ] 市区町村コード | ( 数値 )
継 続
呼び元で 変数定義が必要 です。
選択状態の内容を次回へ引き継ぐ為の変数です。
モジュールレベルの宣言セクションで変数定義して下さい。

ユーザー側で、この変数の内容を意識する必要はありません。

前回の状態を継続せず、初期状態で表示したい場合は、この変数に
【 Ｎｕｌｌ 】 を代入してから実行してください。

補） UserForm 利用例（２）で説明しているように、この変数の配列[ 0 ] には
都道府県、配列[ 1 ] には市区町村が返ります。（２）以降の配列要素は
意識する必要はありません。
都道府県
フォーム表示時、都道府県コンボボックスに対して予め選択しておく場合に
都道府県名を指定します。

２回目以降は 「継続」 の内容で初期表示されますので、省略して構いません。
市区町村
フォーム表示時、市区郡町村コンボボックスに対して予め選択しておく場合に
市区郡町村名を指定します。「都道府県」 が省略された場合は無効です。

指定した 「都道府県」 に存在しない（又は廃止された）市区町村は無視されます。
町村の場合には 「郡」 から記載して下さい。

２回目以降は 「継続」 の内容で初期表示されますので、省略して構いません。

【 解 説 】

都道府県/市区町村を選択すると、町域＆郵便番号の一覧が表示されますので、ダブルクリックして
住所を選択します。

リスト表示後に「町域名」の１文字目で絞込みを行なう事ができます。

ユーザーフォームの住所テキストボックス等から呼び出す等して利用します。

この機能は 右クリックメニュー からも利用できます。なお、この関数ではユーザーサイドのユーザー
フォーム等に組み込む事を前提にしていますので、郵便番号の出力位置指定はありません。

前回選択した都道府県/市区町村のリスト表示（検索済の場合）は自動的に引き継がれるようになって
いますが、「都道府県」「市区町村」引数を指定している場合、前回選択内容と引数の内容が異なる場
合には引数の設定の方が優先される為、リスト内容は表示されません（未検索状態である為）。

初回の既定[都道府県/市区町村]を指定する為に、「都道府県」「市区町村」引数に常に
定数 （"新潟県","上越市"など）
を指定すると上記の制約により、リスト表示がされず、毎回【検索ボタン】をクリックする事となり、使い
辛くなります。

そのような場合は、UserForm利用例（２）のようにして『継続』引数より、選択した都道府県/市区町村を
取り出してください。

【 使 用 例 】

=========== シートのダブルクリックで使う例 ======================

Private vnt住所選択_継続 As Variant

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Dim vnt住所 As Variant
    If ( kt住所選択( vnt住所 , vnt住所選択_継続 ) = True ) Then
         'Form表示後のセル書込時に数式バーにセル値が表示されない為、DoEvents
        DoEvents
        ' 括弧書きが無い場合、空白１個が末尾に残るので[RTrim]で除去する
        Target.Value = RTrim( vnt住所( 1 ) & "" & vnt住所( 2 ) & "" & vnt住所( 3 ) & "" & vnt住所( 4 ) )
        Target.Offset( 0 , -1 ).Value = "〒" & vnt住所( 0 )     ' 左隣のセルに郵便番号
    End If
    Cancel =True
    End Sub

============ UserForm 利用例 ( 1 ) ====================

Private vnt住所選択_継続 As Variant

Private Sub txt住所_ DblClick( ByVal Cancel As MSForms.ReturnBoolean )
Dim vnt住所 As Variant
    If ( kt住所選択( vnt住所 , vnt住所選択_継続 ) = True ) Then
        txt郵便番号.Value = vnt住所( 0 )
        ' 括弧書きが無い場合、空白１個が末尾に残るので[RTrim]で除去する
        txt住所.Value = RTrim( vnt住所( 1 ) & "" & vnt住所( 2 ) & "" & vnt住所( 3 ) & "" & vnt住所( 4 ) )
    End If
    Cancel =True
End Sub

============ UserForm 利用例 ( 2 ) ====================
初回で既定の都道府県/市区町村を指定する場合

Private vnt住所選択_継続 As Variant
Private str都道府県 As String
Private str市区町村 As String

Private Sub UserForm_Initialize()
    str都道府県 = "新潟県"      ' 初回の既定値
    str市区町村 = "上越市"
End Sub

Private Sub txt住所_ DblClick( ByVal Cancel As MSForms.ReturnBoolean )
Dim vnt住所 As Variant
    If ( kt住所選択( vnt住所 , vnt住所選択_継続 , str都道府県 , str市区町村 ) = True ) Then
        txt郵便番号.Value = vnt住所( 0 )
        ' 括弧書きが無い場合、空白１個が末尾に残るので[RTrim]で除去する
        txt住所.Value = RTrim( vnt住所( 1 ) & "" & vnt住所( 2 ) & "" & vnt住所( 3 ) & "" & vnt住所( 4 ) )
    End If
    str都道府県 = vnt住所選択_継続( 0 )      ' [継続]内の都道府県
    str市区町村 = vnt住所選択_継続( 1 )      ' [継続]内の市区町村
    Cancel =True
End Sub

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-１４ ktJapanMap2

日本地図 フォーム を表示して都道府県 を選択するサブルーチンです。

【 構 文 】

Call | ktJapanMap2 | ( 都道府県, 都道府県名, [背景色] )
都道府県 | -- | Integer 型 ( ByRef )
都道府県名 | -- | String 型 ( ByRef )
背景色 | -- | Long 型 （省略可、省略時： vbButtonFace ）

【 パラメータ 内容 】

都道府県
 | 呼び元での 変数定義が必要 です。 この項目に選択した都道府県コード（１～４７）が返ります。 キャンセル時はゼロです。
都道府県名
 | 呼び元での 変数定義が必要 です。 この項目に選択した都道府県名が返ります。 キャンセル時は空文字("")です。
背景色
 | 日本地図フォームの背景色を変更する場合に指定します。 １６進定数やカラー定数などで指定します。 淡色系の方が見栄えが良いです。 省略すると既定のグレー(vbButtonFace)です。

【 解 説 】

都道府県を選択する為のツールです。
日本地図を表したフォームが表示されるので、マウスで選択すると、
その都道府県の コード/名称が取得できます。

(01) 北海道 | (13) 東京都 | (25) 滋賀県 | (37) 香川県
(02) 青森県 | (14) 神奈川県 | (26) 京都府 | (38) 愛媛県
(03) 岩手県 | (15) 新潟県 | (27) 大阪府 | (39) 高知県
(04) 宮城県 | (16) 富山県 | (28) 兵庫県 | (40) 福岡県
(05) 秋田県 | (17) 石川県 | (29) 奈良県 | (41) 佐賀県
(06) 山形県 | (18) 福井県 | (30) 和歌山県 | (42) 長崎県
(07) 福島県 | (19) 山梨県 | (31) 鳥取県 | (43) 熊本県
(08) 茨城県 | (20) 長野県 | (32) 島根県 | (44) 大分県
(09) 栃木県 | (21) 岐阜県 | (33) 岡山県 | (45) 宮崎県
(10) 群馬県 | (22) 静岡県 | (34) 広島県 | (46) 鹿児島県
(11) 埼玉県 | (23) 愛知県 | (35) 山口県 | (47) 沖縄県
(12) 千葉県 | (24) 三重県 | (36) 徳島県 |

AddinBox で別に公開している 「クラスアドイン( ktCalssAddin.xla )」 に収録されている
[ ktJapanMap ] と全く同じものです。

両方のアドインを一緒に参照している場合を考慮してサブルーチン名を変えてあります。

【 使 用 例 】

Private Sub TextBox1_DblClick ( ByVal Cancel As MSForms.ReturnBoolean )
  Dim int都道府県 As Integer
  Dim str都道府県名 As String
      Call ktJapanMap2 ( int都道府県 , str都道府県名 , &HFFFFF0 )
      If ( int都道府県 <> 0 ) Then
          TextBox1.Value = str都道府県名
      End If
      Cancel = True    'DblClick動作解除
  End Sub

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-１５ ktTelPost_SaportEnable

入力支援のイベント発生の有効/無効を設定するサブルーチンです。

【 構 文 】

Call | ktTelPost_SaportEnable | ( EnableFlg )
EnableFlg | -- | Boolean 型

【 パラメータ 内容 】

EnableFlg
True ： 入力支援のイベント発生が有効になります
Flase ： 入力支援のイベント発生が無効になります

【 解 説 】

入力支援機能 を実行している最中に、ユーザー側マクロによって、対象セル範囲への更新が行なわれる
際に、一時的に入力支援を止める為のサブルーチンです（入力支援機能を実行していない状態で、この
サブルーチンを実行しても問題はありません）。

なお、更新終了後には元（True ）に戻してください。

もし、True への戻し忘れがあった場合でも、入力支援フォームを表示させれば、その際に True へ戻ります。

数回の更新などの場合は、このサブルーチンの利用で構いませんが、大量の更新を行なう場合には、入力
支援フォームから 『 解除 』 を行なうようにしてください。

[ Call ktTelPost_SaportEnable ( False ) ] という風にコーディングする場合には【参照設定】が必要ですが、
もし、このサブルーチンを使う為だけに参照設定を行なう事になるのであれば、使用例のように
Application.Run
を使って 「参照設定なし」 で利用する事も可能です。

【 使 用 例 】

--- Application.Run による、参照設定なしで利用する例 ---

Sub 入力支援イベント( ByVal Flg As Boolean )
Const cst入力支援 = "kt電話郵便Addin.xla!ktTelPost_SaportEnable"

    On Error Resume Next
    Application.Run  cst入力支援 , Flg
    On Error GoTo 0
End Sub

Sub xxx()
    Call 入力支援イベント( False )

    ～　セル更新処理　～

    Call 入力支援イベント( True )
End Sub

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


§７-１6 郵便⇔住所 変換候補リスト ダイアログ

郵便⇔住所 変換 において、複数の変換候補が見つかった場合に、
その変換候補 リスト を表示して ユーザーに選択して貰う 為のダイアログです。

右クリックメニュー/郵便⇔住所変換 用 ダイアログ の オプション部分を畳んでいます。

[ 郵便 ⇔ 住所 ] 変換関数 / 各種メニューの変換機能には、検索結果として複数候補が
有る場合、下図の 候補リスト を表示してユーザーに選択を委ねる機能があります。

・ ktPost2Addr / ktAddr2Post / ktPost2Office ( 引数 : 未確定 = ２ or ３ )
・ 電話郵便メニュー/郵便⇔住所 一括変換 ( 変換候補が複数の場合 : 候補リストから選択 )
・ 電話郵便メニュー/入力支援
・ 右クリックメニュー/郵便⇔住所変換

【 検索対象 データ 表示ボックス 】
メニュー機能から表示されている場合、変換処理中の [ セルアドレス ＆ 変換データ ( 郵便
番号 or 住所 ) ] が表示されます。

VBA から ktPost2Addr 関数等 で表示されている場合、第１引数( 郵便番号 or 住所 ) の内容
が表示されます。 メニュー機能のように、セルアドレス等を一緒に表示させたい場合には、その
情報を 引数：補足 に指定します。

【 このダイアログの表示を抑止 】
後 述

【 変換候補 リストボックス 】
リスト を選択して 【確定】ボタン を クリック するか、ダブルクリック すると 確定します。

【 表示し切れない町域を全表示 】
変換候補 リストの 表示幅が足りずに表示し切れていない場合には、その リスト を選択して
【 全表示 】ボタン を クリック すると MsgBox によって表示されます。

【 Cancel 】
変換候補の選択を キャンセル します ( ダイアログ の ×ボタンは無効になっています )。

電話郵便メニュー/一括変換 では、キャンセルすると "変換候補が複数あります" のエラー
メッセージ が代わりに書き込まれます。

【 候補リストの表示抑止について 】

大量の郵便番号( or 住所 ) データ を、この機能 ( 候補 リスト表示 ) を利用して変換した場合、
偶々、複数候補 の データ が非常に多く含まれている と、非常に頻繁に候補 リストダイアログ が
繰り返し表示され、それが煩わしく感じられる場合もあります。

こういう場合に、
「 後で エラーメッセージ を確認しつつ、ゆっくり対処するから、
残りのデータ は、リスト選択不要で、代わりに エラーメッセージ の書き込みで良い。」
として、候補 リストダイアログ 上から動作条件を切り換える事が可能です。
⇒ [ このダイアログの表示を抑止 ] にチェックを入れる

変換候補ダイアログで、この指示を行なうと、[ 表示抑止の解除 ] が 指示される まで 「表示抑止」
状態のまま となります。

つまり、以後、ＶＢＡ から変換関数を 「候補 リストの表示が必要」 という引数設定で実行 しても
候補 リストは表示されません ( 変換関数の引数 ： 未確定＝０ の扱い ) 。

この 表示抑止状態 は、
・ マクロ で [ kt郵便候補_抑止解除 ] サブルーチンを実行する
・ 電話郵便メニューから [ 候補リスト表示抑止の解除 ] を呼び出す
・ 電話郵便メニューから [ 郵便⇔住所 一括変換 ] を呼び出す
・ 右クリックメニューから [ 郵便⇔住所変換 ] を呼び出す
の 何れか が行なわれるまで解除されません。

したがって、ＶＢＡにおいて 「候補リスト表示要」 指定で変換関数を使っても、「表示抑止 状態」である
場合には、例え複数の変換候補が有っても 変換候補ダイアログ は表示されません。

その為、
「候補 リスト フォーム への ユーザー応答で 『表示抑止』 指示が行なわれる」
という可能性を常に考慮して、連続的な変換処理の後には必ず [ kt郵便候補_抑止解除 ] サブルーチン
を実行するようにして下さい。尚、変換処理の直前にも念の為に実行した方が良いでしょう。

【 候補リスト表示/『未確定』引数　禁止事項 】

ktPost2Addr / ktAddr2Post / ktPost2Office 関数では、変換候補が複数ある場合に候補選択
ダイアログからユーザーに選択させるオプション [ 未確定＝２ or ３ ] が用意してありますが、
解説に
２ or ３ （候補リスト表示） はＶＢＡ からの利用の場合にのみ指定できます。
ワークシート上で指定した場合は [ 0 ] 扱いとなります。
と明記してある通り、ワークシート関数として利用している場合は利用できません。

変換関数をセル上 に 直書き している際には問題ないですが、【引数ダイアログ】 （fx ボタン
もしくは ＝ ボタン） を表示させた際、参照データ の変換結果が 「複数候補」である場合、候補
選択ダイアログの表示が正しく行なわれない為、操作不可能 な 状況 に陥ります。

この障害が発生しないようにする為に
    ワークシート上では [ 未確定＝２ or ３ ] は禁止
という制限を設けています。

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.


【 §８ 電話郵便メニュー 】

『 kt電話郵便アドイン 』 をアドイン登録すると 下記の メニューコマンド が追加されます。

----- xla 版 ( kt電話郵便Addin.xla ) の メインメニュー -----
・ Excel 2003 以前 ： 標準メニューバー ( ツール 内 )
・ Excel 2007 以降 : アドイン タブ

なお、リボンアタッチメント アドイン for AddinBox (Ver2.00) を一緒に使うことで、リボンインターフェース の
メニュー を利用することも可能です。

----- xlam 版 ( kt電話郵便Addin.xlam ) の メインメニュー -----
リボン の [ AddinBox メニュー ] タブ
尚、[ AddinBox メニュー ] タブ は kt関数アドイン (Ver 5.00) との 共用タブ です。

----- 右クリック メニュー -----
Ver 2.41 では ４ コマンドを個別に作成していましたが、
Ver 3.00 より [ kt電話郵便アドイン ] グループとして作成するように変更されました。

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2015 Allrights Reserved.


【 §８-１ kt電話郵便メニュー： 電話番号の編集 】

ktTelEdit 関数の機能を対話的に行なう機能です。

指定したセル範 囲に対し、一括して 「電話番号」 編集を行って書き換えます。
右クリックメニューから呼び出す事も出来ます。

RefEdit コントロールにより、対象のセル範囲を選択し、編集形式を指定して「変換」ボタンを押せば、
電話番号を市外局番により編集します。電話番号ではないセルは一切更新されません。

先頭 '0' が付いていない（数値書式の）電話番号も変換可能です。

既に [ 012(345)6789 ] 等のパターンで編集されている電話番号も指定したパターンで編集し直さ
れます。

右下のスピンボタンをクリックすると、現在利用している電話番号データのバージョン（基準日）が
確認できます。

電話番号を編集する為の「市外局番」情報は、総務省ＨＰで公開されているデータを元にしてい
ます。上記フォームのハイパーリンクをクリックすると総務省ＨＰを表示できます。


【 §８-２ kt電話郵便メニュー： 郵便⇔住所検索 】

[ 郵便番号 ⇔ 住所 ] の様々な検索を提供するツールです。
この機能は各関数/サブルーチン を利用することで、ユーザーサイド の マクロ でも利用できます。

６ 種類 の検索 ( 〒検索 , 市町村検索 , 住所フリー検索 , 事業所 , 曖昧検索 , 高層ビル ) ができます。

【 旧〒簿 】
旧住所変換機能を利用している （ 旧住所ＤＢ をアドイン登録している ） 場合は、
[ 旧〒簿 ] の チェックボックスが有効になります。
OFF ⇒ 現在 の郵便番号データ ( kt電話郵便DB.xla ) で検索します。
ON ⇒ 旧住所 の郵便番号データ ( kt電話郵便_旧住所DB.xla ) で検索します。
旧住所用の DB は AddinBox サイト から ダウンロード してください。

検索結果はリストボックスに表示されます。

【 〒 & 住所 をクリップボードへコピー 】
『 コピーボタン 』 をクリックすると、選択した行の内容が 項目間 （都道府県/市区郡町村/
町域） を半角空白区切りで連結した文字列で クリップボード へ コピー されます。メモ帳
などへ コピー する場合などに利用して下さい。

【 選択データの詳細を表示 】
表示し切れていない場合は、１行を選択して 『 選択データの詳細を表示 』 をクリックすると MsgBox で
詳細内容が表示されます。尚、MsgBox に 「はい or いいえ」 で応答すると、その内容をセルにコピーします。

【 一覧出力 】
出力先セルを指定して 『一覧出力ボタン』 を クリック すると、リスト全件 が指定のセルを
基点に出力されます（下記の項目/並びでセルに分かれます）。
[ 一般住所 ] 郵便番号の場合
郵便番号（〒マーク付） , 都道府県名 , 市区郡町村名 , 町域名
[ 大口事業者 ] 郵便番号の場合
郵便番号（〒マーク付） , 都道府県名 , 市区郡町村名 , 町域名 , 丁目 , 事業所名

【 〒 検索 】

[ 一般住所 または 大口事業者 ] 郵便番号を入力して住所を検索します。

郵便番号を ７桁 を指定して [ 検索 ] ボタン を クリック してください。
頭 ３桁/５桁 での フィルター 検索も可能です。

[ 事業所 ]チェックボックス
OFF ⇒ 一般住所の郵便番号簿 から検索します。
ON ⇒ 事業所の郵便番号簿 から検索します。

この検索機能は [ ktPost2Addr / ktPost2Office ] によりＶＢＡから利用できます。

【 市町村検索 】

コンボボックス から 都道府県 と 市区郡町村 を選択し、その地域の郵便番号を検索します。

全国の都道府県/市区郡町村 （ 郵便番号簿 に記載されているもの ） が コンボボックス に登録され
ていますので、そこから選択して一覧を表示できます。そのままシートに出力して印刷すれば
『 郵便番号簿 』 になります。
（注） 統廃合などにより廃止された市区郡町村は一覧に表示されません。

この検索機能は [ ktAddrCode & ktPostList ] [ kt住所選択 ] によりＶＢＡから利用できます。

【 地図から選択 】
日本地図フォーム による 「都道府県」 選択が可能です。
コンボボックス から都道府県を探す代わりに、[ 地図から選択 ] を クリック すると下記の日本地図
フォーム が ポップアップ しますので、県名 を クリック すれば 都道府県が指定できます。

【 住所フリー検索 】

住所を 手入力 し、その内容から郵便番号を検索します。

１文字入力する都度、その内容に一致する候補が表示されます。 なお、「市区郡町村」 以上を
入力しないと検索できません （ 都道府県/市区郡町村 などの間を空白で区切る必要はありません）。

入力する住所について、その住所表記 等の注意点を
[ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について ]
に記してありますので参照してください。

クリップボード から住所データ を貼り付ける事ができます ( ショートカットキー [ Ctrl + V ] を使って下さい )。

また、[ Ctrl キー + 右クリック ] で 選択中のセル ( 複数セル 可 ) の内容を取り込むこともできます。
[ Alt キー + 右クリック ] で 入力欄 を クリア します。

この検索機能は [ ktAddr2Post ] によりＶＢＡから利用できます。

統廃合などにより廃止された市区郡町村を入力した場合は、変更後の新名称を入力欄の上部
にアナウンスします。

入力した住所に対して、上記のように 「 その住所は [ xxx ] に変わりました 」 というエラーメッセージ
が表示された際に、【旧〒簿】のチェックボックスをオンにすると 旧住所ＤＢ より変更前の住所データを再
検索します。

ここでもエラーになる場合は、旧住所DB の 収録基準日以前 に 変更された住所という事になります。

【 事業所 】

大口事業所の名前の一部を指定して、その文字を含む事業者郵便番号をフィルター検索します。

この検索機能は [ ktOffice2Post ] によりＶＢＡから利用できます。

【 曖昧検索 】

市町村名 または 町域名 について名称の一部 を指定してマスク検索します。

マスク文字 [ * ] を使って､名称の一部分のみによる検索ができます。

[ * ]指定が無い場合は "*検索キー*" と見故します。
大* | : "大" で始まる
*市 | : "市" で終わる
大*市 | : "大" で始まり、"市" で終わる
*大* | : "大" を含む
*郡大*町 | : "大" で始まる町名 ( 市町村名 を選択してください ) (補) 町村名には必ず郡名が付きますので､このように指定します

市町村名の場合は全国が対象ですが､町域名の場合は都道府県単位になります。

検索結果が１００件を超える場合は警告メッセージが出ますので､条件指定を絞り込んで、
再度検索し直して下さい。

下記の例は､新潟県内から 「"沢" で始まり "町" で終わる」 町域の検索です。
尚､町域名にはカッコ書きが付随しているものもありますので､例のように 「沢*町」 では 「"町"で終る」
ものを全て抽出できない可能性があります。そのような場合は､ 「沢*町*」 というように指定して下さい。

下記の例は､全国から 「"春"で始まる」 市町村の検索です。

市町村の検索の場合は､検索結果のリストをダブルクリックすると､その市町村についての
「市町村検索」 画面に移ります。

（検索例） "市" を含む町名（市町村）
検索キー：　*郡*市*町
検索結果 （H19/1/31 時点）
・ 北海道 余市郡 余市町
・ 栃木県 芳賀郡 市貝町
・ 富山県 中新川郡 上市町
・ 石川県 石川郡 野々市町
・ 山梨県 西八代郡 市川三郷町
・ 兵庫県 神崎郡 市川町
・ 奈良県 吉野郡 下市町

【 高層ビル 】

高層ビル だけに絞った 郵便番号検索 をします。

高層ビルの名前 が 地区別 に 選択リスト に載っていますので、簡単に 目的の 高層ビル を
指定できます。

[ 地区 ] 高層ビルがある 地域のみが設定されています。
東京 は ２３ 区 単位 , 他の地域は 府県 単位 です。

[ 高層ビル ] 選択した 地区 の 高層ビル のみ、その ビル名 が設定されます。

[ 全階層 ] ～ [ 階数 ] リスト に表示する 『 階 』 を指定できます。
階数 ボックス には、選択した 高層ビル の 階 ( 1階～最上階 ) の数字が設定されます。


【 §８-３ kt電話郵便メニュー： 郵便⇔住所 一括変換 】

郵便番号⇔住所 の一括変換を 提供するツールです。 各関数/サブルーチン を VBA で利用する
ことにより、ユーザーサイド の マクロ で同様の機能を構築することもできます。

住所⇒郵便 の 変換において、住所表記 等の注意点を
[ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について ]
に記してありますので参照してください。

【 変換方向 ( 郵便⇒住所 or 住所⇒郵便 ) 】
変換データ に 応じた 変換方向を オプションボタン で指定します。

【 変換対象範囲 】
変換する 郵便番号データ or 住所データ のセル範囲を指定します。

セル範囲選択 [ データ 末尾 まで ] を 行なう ショートカットキー ( Sfift + Ctrl + ↓ ) が
RefEdit コントロール で使えない場合には、下記 サポート技術情報 にしたがって 対処 して
ください。
-- KB 291110 --
RefEdit コントロールを Excel 内で範囲を選択するのに
キーボード ショート カットを使用することはできません。
https://support.microsoft.com/ja-jp/help/291110

【 出力先 基点セル 】
・ 住所 (都道府県 ) / 〒 ・・・ 必須
・ 市区町村
・ 町域
・ 丁目
・ 事業所

変換結果を出力する 基点セル (変換対象範囲 の 第１データ に対応する出力位置 ) を
単独セル で指定します。

５ 個の 出力先 基点セルの内、先頭の項目は必須です。
２～５番目の 出力先 基点セル は[ 郵便⇒住所 ] 変換の場合に任意で指定します。
全て指定すると、変換結果の住所の内、各々対応する部分 ( 市区町村 , 町域 , 丁目 ,
事業所名 ) が書き込まれます。 指定を省略した部分は順次上段の項目に付け加えられて
書き込まれます。

【 変換 】
変換処理 を 開始します。
変換処理中は、変換ボタンの横に 変換実行中の セルアドレス が表示されます。

大量の データ を変換中に処理を中断したい場合は [ Shift キー + 右クリック ] で可能です。

[ 候補 リスト から選択 ] を指定した場合、複数の変換候補があるデータに対して 候補 リスト
ダイアログ が 表示されます。 [ この ダイアログ の表示を抑止 ] に チェックを入れると、それ
以降、候補 リストダイアログは 表示されません （再度、変換を実行すると その指定は リセット
されます）。

--- 変換方法 は オプションで様々な指定が可能です。 ---

【 変換候補が複数の場合 】
オプションボタンで何れかを選択して下さい。
・ 無条件で空白にする。
・ 無条件でエラーメッセージ（"変換候補が複数あります"）にする。
・ その都度、候補リスト選択フォームを表示してユーザーに選択させる。
なお、候補選択フォームでキャンセルすると "変換候補が複数あります"
のエラーメッセージになります。

【 未登録の場合はエラーメッセージ 】
オフ ： 空白になります
オン ： 郵便番号→住所の場合
"使われていない郵便番号です"
住所→郵便番号の場合
"住所が見つかりません"
廃止された市区郡町村を指定した場合
"その住所は [ xxxxxxxx ] に変わりました" （xxx は新名称）

【 都道府県/市区町村/町域で分割 】
郵便番号→住所 の場合に、１セルに出力（半角空白区切り）するか、別々のセルに出力
するかを選択できます。分割を選択した場合、出力先セルの「市区町村～事業所」が指定
できます。出力先指定を省略した部分は、順次１つ上の項目に「半角空白区切り」で連結
出力されます。なお、丁目/事業所は大口事業者郵便番号を変換する場合にのみ使われ
ます。

【 都道府県を省略 】
郵便番号→住所で、分割出力を選択していない場合に、都道府県名を省略するかどうかを
選択できます。
例） 省略しない ： 〒101-003 東京都 千代田区 一ツ橋（２丁目）
省略する ： 〒101-003 千代田区 一ツ橋（２丁目）

【 空白で区切る 】
都道府県・市区町村・町域を１セルに書き出す場合に、その間を半角空白で区切るか否かを
指定します。

【 町域の括弧内を除去 】
郵便番号→住所で変換される結果には、郵便番号簿に記載されている丁目/地番などの
補助説明も含まれます。この部分を取り除くか否かを選択できます。
例） 〒100-0013 東京都 千代田区 霞が関（次のビルを除く）
〒100-6002 東京都 千代田区 霞が関霞が関ビル（２階）
〒101-0003 東京都 千代田区 一ツ橋（２丁目）
〒602-0854 京都府 京都市上京区 亀屋町（河原町通荒神口東入、荒神口通河原町東入）

【 〒マークを付ける 】
住所→郵便番号の場合に、〒マークを先頭に付けるか否かを選択できます。
なお、[住所→郵便番号]では出力先セルは『文字列』書式に設定されます。

（注） 「旧住所変換機能」 は、[ 郵便⇔住所一括変換 ] では機能しません。
「"その住所は[ xxxxxxxx ] に変わりました"」 と変換されたセルに対して個々に右クリック
メニューから「郵便⇔住所変換」 を呼び出して確認下さい。


【 §８-４ kt電話郵便メニュー： 郵便/電話 入力支援 】

郵便番号⇔住所 と 電話番号編集 の リアルタイム 変換 を提供するツールです。

「 §６ 入力支援機能 について 」 を参照。

この 「入力支援」 機能のメニューアイコンは、入力支援機能の状態に応じてが 下記のように変わります。

【無効】状態 （ 解除 および 一時停止 ） では 『色なしフェイスマーク』
【有効】 になっている状態では 『黄色いスマイルマーク』

( 注 ) Excel 2013 以降での xla 版 メニュー( アドインタブ )では、入力支援を開始した ワークブック ウィンドウ
の メニュー のみ表示が変わります。複数の ワークブック を同時に開いている場合、入力支援を開始した
ウィンドウ以外では 「色なしフェイスマーク」 のままです。


【 §８-５ kt電話郵便メニュー： 都道府県の付与 】

市区郡町村から記載された住所に、一括 して都道府県名を付加するツールです。

住所を記載してあるセル範囲を選択してから、このコマンドを実行すると市区郡町村の前に
都道府県名を付加して上書き更新します。

都道府県から記載してある住所のセルは無視されます。

なお、下記の市名については、複数の都道府県に存在する為、括弧内の内容が書き加え
られます。
・ 府中市 （東京都 / 広島県）
・ 伊達市 （北海道 / 福島県）


【 §８-６ kt電話郵便メニュー： 郵便番号[旧→新]変換 】

集配局や行政区域の変更等によって郵便番号が変更になった地域について、旧〒→新〒の
一括変換を行なうツールです。

「旧〒→新〒変更リスト」 画面では､変更になった郵便番号のリストが閲覧できます。

変更が有った都道府県のみコンボボックスに載っていますので､そこから指定すると､その都道府県内
の変更リストが表示されます。

全変更リストを見たい場合は､「変更リストのシート出力」 ボタンをクリックして下さい。新規ブックを作成して､
全変更リストを出力します。

「旧〒→新〒変換」 画面で一括変換を行ないます。

コンボボックス から対象ブック を指定した後､RefEdit コントロールで､郵便番号が記載されている
セル範囲を指定して下さい。

編集形式を指定して実行ボタンをクリックすれば上書き変換します。変更されていない郵便番号
については一切更新はしません。変更された郵便番号のみを探して更新しますので､どれが変更
されているかといった事を意識せずに郵便番号が記載されているセル範囲をまとめて指定して大
丈夫です。

変換処理の際､１件ずつ（変更のあるもののみ）確認を行なう場合には確認のチェックボックスを
オンにして下さい。

編集形式は､基本的には 「元データのまま」 を選択して下さい。
[文字] 指定の場合､対象セルの書式を【文字列】にして､文字列として変換結果を書き込みます。
[数値編集] 指定の場合は､対象セルに指定の書式を設定した後に変換結果の郵便番号を 「７桁
の数値」 として書き込みます。

※ 「複数の住所で共有」 している郵便番号について ※
「複数の住所で共有」 している郵便番号の場合、そのデータ を新郵便番号に変更するか否かを
判断するには 『住所による判定』 が必要となります。

このようなデータが含まれていた場合、住所が記載されているセルを指定する画面に移りますので、
郵便番号範囲の先頭セルに対する住所セルを指定してください。

住所セルが都道府県・市区町村・町域などに分かれている場合は、CTRL キーを押しながら
セルを選択してください。

尚、この画面に移った時点で、それ以外（複数の住所で共有していない）の郵便番号データに
ついては変換処理が完了しています。したがって、この処理をキャンセル（フォームの閉じるボ
タン）した場合でも、殆どのデータは変換処理が済んでいます。


【 §８-７ kt電話郵便メニュー： 候補リスト表示抑止の解除 】

kt郵便候補_抑止解除 サブルーチンを 実行します。

詳細はサブルーチンのヘルプを参照 して下さい。


【 §８-８ kt電話郵便メニュー： ヘルプ表示 】

このヘルプ （アドイン添付の CHM 形式ヘルプ） を表示するメニューです。

[ ktTelPostHelp.chm ] が [ kt電話郵便Addin.xla / kt電話郵便Addin.xlam ] と 同じフォルダに無いと表示できません。
詳細は「登録と削除」を参照して下さい。


【 §８-９ kt電話郵便メニュー： Version 情報 】

現在利用している電話郵便データベース の バージョン（基準日）が確認できます。

( 旧住所 データベース が無い場合 ) ( 旧住所 データベース も使っている場合 )

データベース に問題がある場合、以下のように表示されます。

市外局番および郵便番号は度々変更され、その都度、総務省/日本郵便 から最新のデータが
公表されています。

「上記で表示される日付が古い」 「変換結果が昔のパターン」 といった場合は AddinBox サイトで
随時、最新の データベース を リリース していますので [ メニュー : DB ダウンロード ] で確認して下さい。

ダウンロードして解凍したら、[ kt電話郵便DB.xla ] のみ差し替えて下さい。


【 §８-１０ kt電話郵便メニュー: DB ダウンロード 】

kt電話郵便アドイン の 電話番号/郵便番号変換辞書である kt電話郵便DB.xla の最新版を
ダウンロード できる AddinBox サイト を ブラウザ で表示する コマンド です。

DB の リリース は 月初 め に行なっていますので、最新版 の リリース 状況を確認してください。


【 §９-１ 右クリックメニュー： 電話番号の編集 】

ktTelEdit 関数の機能を対話的に行なう機能です。

セル範囲を選択して右クリックメニューより、この 機能を呼び出すと、その範囲の 「電話番号」
を 一括して編集/書き換えます。

この機能は電話郵便メニューから呼び出す事も出来ます。

右クリック 呼び出しでは RefEdit コントロールへの入力は出来ません。
（呼び出し時点で選択されているセル範囲が予め設定されています）

編集形式を指定して 「変換」 ボタンを押せば、電話番号を市外局番により編集します。
電話番号ではないセルは一切更新されません。

先頭 '0' が付いていない（数値書式の）電話番号も変換可能です。

既に [ 012(345)6789 ] 等のパターンで編集されている電話番号も指定したパターンで
編集し直されます。

右下のスピンボタンをクリックすると、現在利用している電話番号データのバージョン（基準日）が
確認できます。

電話番号を編集する為の「市外局番」情報は、総務省ＨＰで公開されているデータを元にしてい
ます。上記フォームのハイパーリンクをクリックすると総務省ＨＰを表示できます。


【 §９-２ 右クリックメニュー： 郵便⇔住所変換 】

郵便番号⇔住所 の変換を行ないます。

選択セルの内容に応じて
郵便番号⇒住所 または 住所⇒郵便番号
の変換を行ないます （変換方向は自動判定）。

住所⇒郵便 の 検索/変換において、住所表記 等の注意点を
[ §４ / 3. [ 住所 ⇒ 〒 ] 変換等における 住所表記 の 【 ゆらぎ 】 対応について ]
に記してありますので参照してください。

[ 住所⇒郵便番号 ] の場合は、複数セル （都道府県/市区町村 などでセルが分かれている等）の
選択での利用が可能です （ セル範囲/分割セル , 但し、先頭 ５セルまで）。

空セルで呼び出した場合は、フォーム上の オプション指定の変更 のみが行なえます。

「即確定では表示しない」 のオプションを選択している 場合で、「即確定」 の際には、
このフォームを表示 せずに書込み先セルへ変換結果が出力されます。
（再び 変換候補フォーム を表示するようにしたい場合は、
空セルから呼び出して、オプション設定を変更してください）

リストボックス上部には、アクティブセル の セルアドレス と セル内容が表示されます。

即確定時には１件、複数変換候補が有る場合には、その全リストが表示されます。

リスト内から１件を選択して 『確定ボタン』 をクリック、または、行をダブルクリックすると「書込先セル」
で指定された位置に変換結果を出力します。変換処理を取り消す場合は 『Cancel ボタン』 をクリック
して下さい（セルには出力されません）。

（注） 統廃合などにより廃止された市区郡町村を選択している場合は、上部の変換元データ欄に、
変更後の新名称がガイダンスされます。

【 表示し切れない町域を全表示 】
変換候補リストの内容で、表示幅が足りずに表示し切れていない場合には、そのリストを選択して
『全表示ボタン』 をクリックすると MsgBox によって表示されます。

----- オプション 設定項目 ------
各オプション設定の内容は、エクセル起動中は保存されます（次回エクセル起動時には初期設定に
戻ります）。オプション設定のみ変更したい場合には空セル上で右クリックで呼び出して下さい。

【 変換候補が１件のみで即確定の場合は、このダイアログを表示しない 】
このオプションを選択すると、変換候補が１件のみの場合に限り、このフォームを表示せずに、
右クリックメニュー選択と同時に 「書込先セル」 で指定された位置に変換結果が出力されます。
旧住所ＤＢ による検索 ( 旧住所変換機能 ) の場合には、このオプションを指定していても、必ず
確認の為にダイアログが表示されます。

【 郵便→住所で都道府県名を取り除いて変換 】
このオプションを選択すると、アクティブセルの内容が郵便番号の場合に、変換結果の住所から「都道府
県名」を除いて出力します（フォーム内の候補リスト上では都道府県名は付いています）。
例 ： 省略しない ： 〒101-003 東京都 千代田区 一ツ橋（２丁目）
省略する ： 〒101-003 千代田区 一ツ橋（２丁目）

【 郵便→住所で町域のカッコ以降を取り除いて変換 】
このオプションを選択すると、アクティブセルの内容が郵便番号の場合に、変換結果の住所（町域）
から、丁目などの補助説明文を除いて出力します（フォーム内の候補リスト上ではカッコ以降も付
いています）。
例 ： 〒101-0003 東京都 千代田区 一ツ橋（２丁目）
〒602-0854京都府 京都市上京区 亀屋町（河原町通荒神口東入、荒神口通河原町東入）

【 郵便→住所で空白で区切る 】
都道府県・市区町村・町域の間を半角空白で区切るか否かを指定します。

【 住所→郵便で〒マークを付ける 】
このオプションを選択すると、アクティブセルの内容が住所の場合に、変換結果の郵便番号の先頭に
『〒』 マークを付けます。

【 書出先セル 】
変換結果を出力するセル位置を指定します。この指定はアクティブセルに対する相対位置になります。
指定方法には
「右隣」 , 「左隣」 , 「直上」 , 「直下」 , 「上書」 , 「指定」
の６種類があります。「指定」 の場合にはスピンボタンによりオフセット量を指定します。

出力先がシートから外れる場合（"左隣"指定で１列目、"直上"指定で１行目など）には、変換結果を
出力せずに終了します。

【 このダイアログの表示を抑止 】
この チェックボックス は右クリック メニュー呼び出しでは意味を持ちません。
右クリックメニュー から、この フォーム を呼び出すと、無条件で 「抑止指定解除」 の状態になります。
この機能( ダイアログの表示抑止 ) の詳細は こちら を参照して下さい。

kt電話郵便_旧住所DB.xla が アドイン登録してあると 『旧住所変換機能』 が 有効 になります。

変換対象の 住所 が 廃止自治体 と 認められると、自動的 に 旧住所ＤＢで再検索を実施 します。
その場合、フォーム上 には 【旧〒簿】 の表示がでます。

尚、旧住所の場合には、「１件で即確定」 の場合であっても、必ずこのダイアログが表示され、
ユーザー確認待ちとなります。

「旧住所変換機能」 が 無効時には、"その住所は [ xxxx ] に変わりました" と表示されます。

【旧〒簿】マークが付いていて "その住所は [ xxxx ] に変わりました" になる場合は、
旧郵便番号DB の収録基準日以前に変更された住所という事になります。


【 §９-３ 右クリックメニュー： 住所[旧→新 ]変換 】

新/旧の郵便番号ＤＢを用い、郵便番号を経由 して『旧住所→新住所』変換を行ないます。
旧住所ＤＢがアドイン登録されていないと利用できません。

旧住所→新住所変換は４ステップで構成されます。

-- Ｓｔｅｐ１ --
旧住所が入力されているセルで、右クリックメニューから、この機能を呼び出すと下記のダイアログ
が表示されます。

「入力住所」にはセルに入力されている内容が表示されます。
「現市区町村」には、その住所の現在の市区町村名が表示されます。
リストボックスには、その入力住所を旧郵便番号ＤＢで検索した結果（郵便番号の一覧）が表示されます。

-- Ｓｔｅｐ２ --
リストボックス から郵便番号を選択し、【↓】ボタンをクリック、または、行をダブルクリックすると、
選択した郵便番号と【同じ郵便番号を持つ】住所を新郵便番号ＤＢより検索してリストボックスに
表示します。

-- Ｓｔｅｐ３ --
新住所をリストボックスから選択し、【↓】ボタンをクリック、または、行をダブルクリックすると、選択
した 『新住所』 の後に 『入力住所』 を付加してテキストボックスに表示されますので、字名・丁目
番地など、入力住所から引き継ぎたい内容を残して住所を完成させてください。

-- Ｓｔｅｐ４ --
住所が完成したら、【確定】ボタンをクリックすると、元のセルに新住所が書き戻されます。

郵便番号も一緒にセルに出力したい場合には、出力位置を指定してから【確定】ボタンをクリック
してください。住所は元のセルに、郵便番号は指定のセルに出力されます。

-- 大量の住所データについて、新住所への変更を行なう場合 --
先ず、変更のあった住所データを見つける為に、「住所→郵便番号」 の一括変換を行ないます。
これにより
「その住所は [ xxx ] に変更されました」
または　「住所がみつかりません」
という変換結果になった住所データについて、ひとつひとつ対処してください。


【 §９-４ 右クリックメニュー： 住所選択入力 】

「郵便番号⇔住所」 変換による入力ではなく 市区町村リストから直接住所を選択してセル へ書き
出すと同時に郵便番号も一緒に書き 出すツールです。

入力方法は 「郵便⇔住所 検索」 の市区町村別検索フォームと同じです。

右クリックしたセルには選択した住所が書き込まれ、「〒書込セル」 を指定している場合は、その指定
位置に郵便番号が同時に書き込まれます。

オプション で、都道府県・市区町村・町域の間を半角空白で区切るか否かを指定できます。

リスト表示後に 「町域名」 の１文字目で絞込みを行なう事ができます。

都道府県/市区町村/リスト表示内容、および郵便番号の出力方法は次回まで引き継がれます。


【 §１０－１ 著作権・免責等 】

【 使用条件 】

『ｋｔ電話郵便アドイン』 はフリーウェアです。
配布ファイルの内容を変更しないという条件で使用/再配布は自由です。
また再配布に当たっては､媒体費等の実費以上の金銭授受は固く禁じます。
『ｋｔ電話郵便アドイン』の無断転載はご遠慮願います。

[ kt電話郵便アドイン ] を利用したフリーソフト等の配布に際してのお願い
kt電話郵便アドインを、業務等に使うブックで利用する為に、その利用ブックと一緒に配布する
事(再配布)は構いません。

ただし、フリーソフト等で利用する場合に、そのフリーソフトのダウンロードファイルへ [ kt電話
郵便アドイン ] を含める事は
a) 完全な『不特定多数』への２次配布になる
通常の利用であれば、利用ブック作成者の周辺(社内など)に限られます。また、そのソフト
の説明書の書き方によっては、kt電話郵便アドインの出典が不明になります。
b) ＨＰ等での公開になる訳ですから「転載」の範疇になります
転載では、私の事前許可が必要です。
c) バグフィックス/最新データ差し替え等で、私のバージョンアップ管理から外れてしまう
私の方で幾ら修正を行なっても、そのダウンロードファイル内にあるものは旧バージョンの
まま取り残されます。
d) 雑誌等への掲載依頼が届いた時に作者の許諾のみでは不可
そのフリーソフトが雑誌等に掲載（転載の範疇です）される場合を考えると、作者の他に
私の許諾も必要になります。
という点で問題となります。特に、c)項については利用者にまで迷惑を掛けてしまいます。したがって、
kt電話郵便アドインの利用が必要な場合には、ReadMe.txt 等の使用説明書に
「尚、このソフトを使用するには別途[kt電話郵便アドイン]が必要です。
下記のＨＰからダウンロードしてエクセルにアドイン登録して下さい。」
http://addinbox.sakura.ne.jp/index.htm
( 旧サイト ) http://www.h3.dion.ne.jp/~sakatsu/index.htm
と記して、フリーソフト等のダウンロードファイルには含めないで下さい。

【 動作環境など 】
このソフトは
『 Windows10 および
Excel2016 / 2010SP2 / 2007SP3/Excel2003SP3 』
の環境において開発/テストしました。

[ Windows XP 以降 ＆ Excel 2003 SP3 以降 ] で動作します ( 64bit 版 エクセル 対応 )。

動作異常 等 がありましたら､下記連絡先 へ お知らせ下さい。

【 著作権・免責 】
『 ｋｔ電話郵便アドイン 』 の全ての著作権は 「作者：角田 桂一」 が保持します。

尚､このソフトを使用したことで発生したいかなる損害についても、作者は一切責任を負わないものとします。

【 連絡先 】

『 角田 桂一 （つのだ けいいち） addinbox@h4.dion.ne.jp 』
『 ホームページ http://addinbo.sakura.ne.jp/index.htm ( 旧サイト http://www.h3.dion.ne.jp/~sakatsu/index.htm ) 』

質問・感想・要望・バグ報告などの連絡は下記掲示板へお願いします。バージョンアップの際の
参考にさせて頂きます。
『　掲示板　http://addinbo.sakura.ne.jp/bbs_page.htm 』
公開ソフトへの質問 ⇒ 「あどいん　らうんじ」
Excelに関する質問（関数・ＶＢＡ等） ⇒ 「Excel Q&A Salon 」

ただし､
『特定ユーザー向けの限定バージョン依頼』
『期限を指定しての機能追加の要望』
等にはお応えしかねますので､ご了承ください。


【 §１０－２ 更新履歴 】

１． ２００４年 １０月 ３１日 Ver 1.00 同梱DB ( H16/10/31 作成版 )
２． ２００４年 １１月 ６日 Ver 1.01 同梱DB ( H16/11/6 作成版 )
３． ２００５年 ５月 ２４日 Ver 2.00 同梱DB ( H17/5/14 作成版 )
４． ２００５年 ６月 ３０日 Ver 2.01 同梱DB ( H17/5/14 作成版 )
５． ２００６年 ３月 ２日 Ver 2.10 同梱DB ( H18/3/2 作成版 )
６． ２００７年 ２月 １５日 Ver 2.20 同梱DB ( H19/2/15 作成版 )
７． ２００７年 ９月 １日 Ver 2.30 同梱DB ( H19/9/1 作成版 )
８． ２００８年 １０月 １０日 Ver 2.40 同梱DB ( H20/10/3 作成版 )
９． ２００８年 １２月 ２０日 Ver 2.41 同梱DB ( H20/12/6 作成版 )
１０． ２０１８年 ５月 ２３日 Ver 3.00 同梱DB ( H30/5/22 作成版 )

--- Ver 3.00 変更内容 ---
( a ) サポート対応バージョンを変更。
RefEdit コントロールの 影響で Excel2003 SP3 以降 とする。
API : SHCreateDirectoryEx の 影響で Windows XP 以降 とする。

( b ) API を 64bit 対応にする。

( c ) xla と共に xlam 版 を 提供する。
「リボンアタッチメント for AddinBox (Ver 2.10)」 を同梱する。

( d ) kt電話郵便Addin.ini の フォルダをAddins フォルダ固定に変更する。
従来の 「kt電話郵便Addin.xla と同一フォルダ」 という扱いでは、ＵＡＣ 管理下の
Library フォルダ に保存する場合に INI ファイルの書き込みが出来なかった。

( e ) メニュー に AddinBox サイトをブラウザで表示する 「ＤＢダウンロード」 を追加する。

( f ) xlam 版では メニュー を リボンＵＩ に変更する。
右 クリック メニュー では、４ メニュー コマンドを １つのグループとして作成するように変更。

( g ) ヘルプファイル を WinHelp 方式から CHM 方式に変更する （このヘルプ）。

( h ) 「和歌山県 那賀郡 那賀町」 と 「徳島県 那賀郡 那賀町」 を重複町名[ H17/3/1 ～ H17/11/6 ]
として扱い、「県名の無い郡町名」では特定不可としていたが、重複期間から大分経っているので、
重複扱いを解除し、「那賀郡 那賀町」 を徳島県として扱うようにする。

( i ) ktPost2Office
郵便番号の 「頭 ３ 桁・５ 桁」 検索 をサポートしました。

( j ) 右 クリック メニュー/郵便⇔住所変換
 住所→〒変換の場合に、変換元住所が複数セルに分かれている（県・市町村・町域などでセルが
分かれている）レイアウトをサポートします。
住所記載セルの複数セル範囲を選択してから [ 郵便⇔住所変換 ] を呼び出すと、先頭５セル分の
文字列を連結して処理します。

( k ) メニュー/一括変換
 ・ 一括変換で候補表示の際に「キャンセル不可」だったのを【可】に変更する。
・ 一括変換で処理中に【中断】応答を受け付けるようにする。

( l ) メニュー/郵便住所検索
・ クリップボードコピーにおいて、事業所の場合 [ 事業所名+郵便番号+住所 ⇒ 郵便番号+住所+事業所名]
に並びを変更する。
・ MsgBox 表示 ( 選択データの詳細表示 ) において、アクティブセルへの 出力機能を追加する。
・ 住所フリー検索において、「選択セル（複数セル可） から読み込み」 機能を追加する。
・ 郵便番号検索において、一般住所/事業所の指定ボタンを追加します。
・ 高層ビル の 郵便番号検索 を追加しました。

( m ) メニュー/入力支援
 ・ 登録情報一覧の[ActiveBook ]表示の際に『登録名変更』機能をサポートする。
・ 登録情報一覧の[同名ブック]表示の際に『フォルダ変更』機能をサポートする。

( n ) kt電話郵便アドイン に収録している シート関数のカテゴリ を ユーザー定義 から 「kt電話郵便アドイン」
に変更する。

( o ) 電話郵便データベース は、今後 [ Ver 3.00 対応 ] となります。
既 リリースの [ Ver 2.30 以降対応 ] の 電話郵便データベース は利用できません。

( p ) ＩＮＩ ファイルの処理で、フォルダ階層途中のフォルダが無いとエラーになるバグを修正。

( q ) Excel 2016 において、ユーザーフォームのサイズを動的に変更する場合に、従来のバージョン
に比べて、7.5p 小さくなる 不具合 に対処する。

( r ) Excel 2016 において、[ メニュー / 郵便住所検索 ] 画面内の タブ の表示が乱れる不具合を修正しました。
MultiPage コントロール/各タブ ( Page コントロール ) の Caption 末尾に 空白が付いていると、Excel 2016で
この不具合が発生します。

--- Ver 2.41 変更内容 ---
( a ) Ver2.40が、Excel2003以前において
「プロジェクトまたはライブラリが見つかりません」 または
「非表示モジュールktForm郵便一括変換内でコンパイルエラーが発生しました」
というエラーを出す件について、アドインブックを作成しなおしエラーにならないように対応しました
(Excel2007とのマルチインストール環境が原因でした）。
原因の詳細は下記を参照。
http://addinbox.sakura.ne.jp/Excel_Tips08.htm#S6

--- Ver 2.40 変更内容 ---
( a ) Excel2007 対応への修正を施しました。
( b ) 「〒→住所」 変換において、都道府県・市区町村・町域の間を空白で区切るか否かの
指定を追加しました。

--- Ver 2.30 変更内容 ---
( a ) 郵便番号の[旧→新]変換機能において、重複郵便番号地域への対応を行ないました。
( b ) Ver2.30より､ＤＢレイアウト変更（〒旧新変換機能データ）。

--- Ver 2.20 変更内容 ---
( a ) 郵便⇔住所検索に曖昧検索を追加しました。
( b ) 郵便⇔住所検索の「〒検索」「市町村検索」で旧ＤＢ指定を追加。
( c ) 電話番号９桁地域(0460-D-EFGH,0578-D-EFGH)の１０桁化に対応。
( d ) 郵便番号の[旧→新]変換機能を追加しました。
( e ) Ver2.20 より､ＤＢレイアウト変更（〒旧新変換機能データ）。

--- Ver 2.10 変更内容 ---
( a ) 日本地図フォームを表示する関数 「ktJapanMap2」 を追加
( b ) 住所→郵便番号変換において、都道府県を省略した住所での変換をサポート
( c ) 都道府県を省略した住所から、都道府県を検索する関数 「kt都道府県名」 と、都道府県を
直接書き加えるメニュー機能（単体で提供していたkt都道府県名付与ツールの機能）を追加
( d ) 「郵便⇔住所検索/市区町村検索」 のフォーム部分をＶＢＡから呼び出す関数 「kt住所選択」 と、
右クリックメニューから利用する機能を追加
( e ) 入力支援機能に以下の機能を追加
・ 電話番号編集が追加されました。
・ 郵便→住所と住所→郵便を別個に指定できるようにしました。
・ 設定画面のインターフェースを一新しました。
・ 対象セル範囲などの情報をINIファイルに保存して次回実行時に再利用できる機能を
追加しました。
・ ユーザーサイドのマクロによる更新の際に一時的に入力支援を無効にするサブルーチン
（ktTelPost_SaportEnable） を追加しました。
( f ) 各郵便番号検索フォームにおいて、変換リスト内で「以下に記載が無い場合」等、【町域なし】
データを先頭に表示するようにする
( g ) 「住所→郵便」 変換などで、市区郡町村名の後に【大字、小字、字】を挟んで町域名を記述
している住所の場合に、「見つからないまたは代表郵便番号」 という結果になるのを修正し、
町域に合致するデータを検索できるようにしました。
( h ) 変換候補フォームと旧→新変換フォームでの、リストボックス選択をダブルクリックでも可としました。
( i ) 各メニュー機能からシート上へ出力する際に、プロテクトシートの判断で誤りがあり、ロック
されたセルを指定した場合に実行時エラーが発生する。
( j ) RefEdit コントロールを配置しているフォームで、閉じるボタン [ X ] を無効にしていると、
Excel97の場合に操作不能状態に陥る事がある。折畳みRefEdit ウィンドウの閉じるボタン
[ X ] の機能がバージョンによって異なる為に発生する。
・ Excel2000以降 ： [ 元フォームへ復帰 ] ボタンと同じで、元のフォームが再表示される。
・ Excel97 ： 元のフォームも一緒に閉じてしまう。
QueryCloseイベントでキャンセル処理をしていると、Excel97の場合にRefEditが閉じて元フォーム
に移ってはいるが、元フォームが非表示のままという状態になり、シート/コマンドバー全て操作
不能になる。（フリーズではなく、表示されていないモーダルフォームが制御を持っている状態である）

--- Ver 2.01 変更内容 ---
( a ) バグフィックスのみ。
入力支援モードで出力先を 「指定：行＞１（下側）」 で設定してもマイナス位置（上側）に
出力される不具合を修正。

--- Ver 2.00 変更内容 ---
( a ) 「旧住所変換」機能のサポート
( b ) 「旧→新 住所変換」機能のサポート
( c ) 「郵便住所変換入力支援」機能のサポート
( d ) 「ヶ、ケ、が、ガ、ヵ」「の、之、ノ」「ツ、つ、っ、ッ」の住所ゆらぎ対応
( e ) 郵便⇔住所検索[市区町村別]で、都道府県の指定に、日本地図フォームによる選択
機能を搭載
( f ) 「〒415-0001,"静岡県","下田市","下田市の次に番地がくる場合"」 という住所データ
パターンへの処理を追加
( g ) 住所内に含まれる [ CR/LF ] 除去機能に [ TAB ] を追加

--- Ver 1.01 変更内容 ---
( a ) 右Clickでの[郵便→住所]において、ハイフン無し＆書式:数値で７桁郵便番号を入力
されている場合、書式で末尾に付く半角空白の影響で８文字とカウントされて変換でき
ない不具合
( b ) 政令指定都市への移行で [ 市 ] から [ 市区 ] に変わった
埼玉県さいたま市xxxx区
の住所が変換/検索できない不具合
( c ) ( b ) に関連してＤＢブック仕様を一部修正し [H16/11/6 作成版] とする


【 §１０－３ 総務省 市外局番情報 】

[ kt電話郵便アドインVer 3.00 ] に同梱されている市外局番情報は
[ H30/4/2 付 電話番号指定状況 ] に基づくものです。

「総務省/電気通信番号指定状況－固定電話の電話番号」
http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html

「総務省/電話番号利用・指定状況/電話番号の変更 」
http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/new_number.html


【 §１０－４ 日本郵便 郵便番号情報 】

kt電話郵便アドインで提供する郵便番号/住所データベースは、下記の公開情報を基にしています。
度々、更新されていますので、お使いの基準日付が最新のものか確認して下さい。

「日本郵便/郵便番号検索」
http://www.post.japanpost.jp/zipcode/
「日本郵便/郵便番号データのダウンロードページ」
http://www.post.japanpost.jp/zipcode/download.html

また、統廃合により廃止された市区町村の名称およびコードは、下記のサイトより収集しました（平成１３年１月～）。
「地方公共団体情報システム機構 」
https://www.j-lis.go.jp/index.html
「地方公共団体情報システム機構 / 地方公共団体コード住所一覧」
https://www.j-lis.go.jp/spd/code-address/jititai-code.html
「イッシーのホームページ」
http://www.tt.rim.or.jp/~ishato/index.html
「地理のページ/市町村コード（地方公共団体コード）一覧表」
http://www.tt.rim.or.jp/~ishato/tiri/code/code.htm

[ kt電話郵便アドインVer 3.00 ] の配布ファイルに同梱されている郵便番号情報は
[ H30/3/31 更新版　全国一括 ＆ 事業所 ] データ を元に作成した 『 H30/4/3 作成版 』 です。


【 リボンアタッチメント アドイン for AddinBox 】

kt電話郵便アドインの配布ファイル に 同梱 されている [ RibbonAttach4AddinBox.xlam ] は、
kt電話郵便アドインの xla 版 ( メニュー は 従来の CommandBar / アドイン タブ 内に収録 ) を
Excel2007 以降で使用する際に一緒に利用するサポートツールです。

xlam 版を使用する場合には必要ありません。

--- kt 電話郵便アドイン ( Ver 3.00 ) 配布ファイル ---

この リボンアタッチメント を アドイン登録すると、下図の リボンメニュー が作成され、この リボン内の
コマンド から kt電話郵便アドイン のメニュー機能を呼び出すことができます。　また、アドイン タブ
内の メニュー も引き続き利用できます。

(補) kt電話郵便Addin.xlam を使用している場合は、この リボンメニュー のコマンドは機能しません。

( 注 ) リボンアタッチメント の リボンメニュー では、「入力支援」 機能 が 動作中でも、
メニューアイコンは 「白地のフェイスマーク」 のままです （ 状態確認は アドイン
タブ の メニューアイコン で行なって下さい )。

尚、リボンアタッチメントアドイン は kt関数アドイン と kt電話郵便アドイン の共用ツール
ですので、kt関数アドインの リボンメニュー も一緒に展開されます （kt関数アドイン が
アドイン登録されていなければ、勿論、そのメニューコマンド は機能しません）。

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2015 Allrights Reserved.


【 SDIの不具合について（終了時に空ウィンドウが残る） 】

Excel 2013 / 2016 の不具合により、エクセルワークブック を [ ダブルクリック または
右クリックメニュー/開く ] で 開いた場合に、空 ウィンドウ が 余計に１つ開く という
不具合が報告されています。

この障害は
エクセル 起動時に、アドインブック 等の処理によって Active Window が切り替わる
という 動作に Excel の SDI (Single Document Interface ) 機能 が 対応しきれていない。
という不具合に拠るものです。

-- KB 3157115 -- https://support.microsoft.com/ja-jp/help/3157115
Excel 2013 以降 の バージョンで、複数のアドインが設定されている状態で
ファイル を開くと 空白の Excel ウィンドウ が表示される

当サイトで公開している アドインソフト の改修のみでは、この トラブルの完全な回避は
不可能です。 このトラブルの 詳細および 回避不可 の理由については下記を参照
してください。

AddinBox / Tips24 : Excel 2013でエクセル終了時に空ウィンドウが残る
http://addinbox.sakura.ne.jp/Excel_Tips24.htm

唯一 の 確実 な 対処法 は、
・ [ ワークブック アイコン を ダブルクリック ] または [ 右クリックメニュー / 開く ] で
ワークブック を開かない
という事です。つまり、
・ エクセル を 起動してから [ 開く ] コマンド で ワークブック を開く
という事です。

多少 なりとも手間を省く為に下記のようにする事をお勧めします。
・ 起動画面 および 空白ワークブック を表示せずに Excel 2013/2016 を起動する
⇒ [ /e スイッチ を持つ Excel 起動ショートカット ] を デスクトップ に作成
-- Microsoft Office 製品 の コマンド ライン スイッチ --
・ バックステージビュー ( ファイル タブ ) を開く手間を省く
⇒ クイックアクセスツールバー に [ 開く ] コマンド を組み込む
-- クイック アクセス ツールバーをカスタマイズする --

K.Tsunoda(AddinBox) Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2015 Allrights Reserved.