MS Access Tips/Sample and VBA and Blog customize etc...

電話番号の適切な位置に区切り文字を挿入する関数+市外局番データアップデイトツール(完全版)

タイトル画像

電話番号の適切な位置に区切り文字を挿入する関数を紹介したのですが、正しく分割されない局番がありました。
その不具合を解決した完全版の関数と、総務省のHPから最新の市外局番データを取得してアップデイトするツールを公開します。

以前のツールをご利用の方は、こちらから完全版をダウンロードして差し替えてご利用ください。

電話番号分割関数+市外局番データ更新ツール

下記の機能があります。

ハイフン無しで数字のみ入力されている電話番号の適切な位置にハイフン(変更可能)を挿入する関数を自動生成します。

生成した関数は、Officeアプリにクリップボード経由かBASファイルで取り込むことができます。

総務省のHPで公開されている市外局番データが更新されていたら、ダウンロードして関数内の市外局番データを自動で更新します。

下記のリンク先からエクセルファイルをダウンロードしてください。

ImportAreacode3.xls (Excelブック - 49.3kb)

2020/08/27: 古いバージョンだったのを最新バージョンに入れ替えました。以前のものをダウンロードされた方は再ダウンロードして入れ替えてください。

市外局番データ更新ツールの使い方

上記でダウンロードしたエクセルファイルを開くと下記のユーザーフォームが表示されます。

ツールフォームのキャプチャー

「平成30年12月3日現在」というのは、コード中の電話番号データの更新日です。
[市外局番データの更新をチェックする]をクリックすると総務省のページにアクセスして市外局番データの更新日付を取得して、コードの更新日付と比較して新しければ、コードを更新するかメッセージを出します。
[はい]をクリックすると市外局番データ(エクセルファイル)をダウンロードしてコードに変換します。変換したコードはSheet1に格納されます。

このコードの生成は時間がかかります(数十分かかる場合もあります)。フォームの下部に途中経過が表示されますので、終了するまで気長にまってください。
最新版では大幅に改善されてます。

この取り込んだ市外局番データと電話番号分割関数をMSOfficeアプリ(Excel, Access,Word等)で利用するには、下記の2つの方法があります。

[コードをクリップボードへコピー]をクリックして、関数を使用したいOfficeアプリを開いて、VBAの標準モジュールに貼り付けます。すでに古いバージョンのコードがある場合は上書きコピーします。

[BASファイル作成する]をクリックします。保存するフォルダーを聞いてきますので選択して、[保存]をクリックします。関数を使用したいワークブックを開いてVBEを開き、メニュー[保存]-[インポート]をクリックして、先ほど保存したBASファイルを選択します。[開く]をクリックすると標準モジュールにmodSplitAreacodeというモジュールが作成されます。
旧バージョンのモジュールがある場合は、事前に開放しておく必要があります。

電話番号分割関数の使用例

サンプルコード

ツールの[サンプルフォーム]をクリックすると下記のようなユーザーフォームでの使用例のサンプルが開きます。

電話番号分割テストサンプルフォーム

「電話番号」テキストボックスで数字のみで電話番号を入力して、Enterキー等でフォーカス移動すると、適切な位置にハイフンが挿入されます。
テキストボックスのExitイベントのコードは下記になります。

謝辞

以前、こちらのブログで発表したものは、市外局番の数字だけで分割位置を判断していましたが、 市外局番だけでは決まらない場合があり、市内局番も判断材料にする必要があるということを、 よろずやさんからブログのコメントで指摘をうけました。

さらには、私の不完全なツールを改修したものを(というかほとんど全面書き直しですが)提供していただき、このブログで公開させていただくことも了承していただけました。

よろずやさんのツール提供に感謝します。

5 Comments

よろずや says..."あーっ、これダメバージョンです。"

あーっ、これは #VALUE! が出てしまうダメバージョンです。
最終版は、ImportAreacode2.xls ですぅー。
>このコードの生成は時間がかかります(数十分かかる場合もあります)。
これも高速化してあります。

2018.12.22 22:09 | URL | #TXvl0E4U [edit]
hatena says..."re:あーっ、これダメバージョンです。"

2018/11/03 に送付してもらったものかな。
いろいろ、コピーしていじっているうちにどれが最新版かわからなくなってしまったようです。
11/03のメールのものと置き換えますね。

2018.12.23 13:42 | URL | #5uE6dEgY [edit]
よろずや says..."Re:re:あーっ、これダメバージョンです。"

>2018/11/03 に送付してもらったものかな。
はーぃ、そうです。
お手数かけます。(ホームレスなので...)

2018.12.23 15:36 | URL | #TXvl0E4U [edit]
TK says..."ImportAreacode2.xlsの利用方法"

初めましてこんにちは!
ACCESSでハイフンなしの電話番号をハイフン付きで表示
させる方法を探していてこのブログを見つけました。
素晴らしいと思い「ImportAreacode2.xls」をダウンロード
したのですが開くと中身が何もなくフォームも開きません。
どのような手順をふんだらこの便利な関数が利用できるように
なるのでしょうか??
お忙しい中、申し訳ありませんがよろしくお願いいたします。

2019.01.15 10:54 | URL | #GoX8qxH6 [edit]
hatena says..."re:ImportAreacode2.xlsの利用方法"

あっ、すみません。テスト用のファイルをアップロードしてました。
ファイルを入れ替えておきましたので、再度、ダウンロードしてください。

2019.01.15 12:59 | URL | #5uE6dEgY [edit]

Leave a reply






Trackbacks

trackback URL
https://hatenachips.blog.fc2.com/tb.php/518-85d78ff1
該当の記事は見つかりませんでした。