パソコン悪戦苦闘記録

Excelマクロによる郵便番号データ検索ツール CSVファイルが前面に出しゃばって検索結果が隠れる問題

 日本郵便のWebサイトにおいて、郵便番号データが配布されています。著作権は日本郵便が保持していますが、必要とする方は自由にダウンロードすることができます。

 そこに置かれているのは、郵便番号のデータそのもの、CSVファイルだけです。ですから、検索機能は利用者自身で用意する必要があります。
 ずいぶん昔のことですが、私自身で作ったExcelマクロ(VBA)による郵便番号データ検索ツールがあります。かつて、会社業務で利用していました。
 Workbooks.OpenText で郵便番号CSVデータを開き、その中から必要な番号を検索し、Excelのシートに表示させるという単純なVBAマクロです。CSVテキストファイルと、検索結果を表示するExcelブックは、別のファイルとなっています。
 
 昨夜、その検索ツールを見つけ出し、約20年ぶりぐらいに使うことにしました。
 Webサイト上の郵便番号CSVファイルの仕様は、今でも当時と変わっていません。そのため、郵便番号CSVファイルをダウンロードすれば、上記検索ツールは今でも使えることが分かりました。

 けれども、一つだけ、問題が生じました。
 問題と言っても、大したことではなく、初歩的なトラブルです。
 それは、郵便番号の検索後にも、郵便番号一覧のCSVファイルが前面に配置されたままで、検索結果シートを邪魔するという問題です。検索結果表示シートが後ろに追いやられて隠され、検索結果を見ることができません。郵便番号一覧に用はないのに、それが最前面に出しゃばっています。
 

 上記のようにならないように、対策として、検索結果を表示するExcelブックをactivateするコードは、ちゃんと入れています。そのactivateメソッドが、うまく機能していないようです。昔使用していたときは、Excelブックがactivateになり、検索された郵便番号表示シートが前面に出てきていたのですが。

 CSVファイルは、次の処理にも使用するために、閉じるわけにもいかないし。
 いろいろといじくってみたのですが、改善しません。
 そこで、この問題を解決するため、Chat(チャット)GPTに質問しました。

 Chat(チャット)GPTの回答は、次のとおりです。

 「Workbooks.OpenTextで開いたテキストファイルを背面に配置するには、次のようにコードを書くことができます。
 ' テキストファイルを背面に配置する
  Application.WindowState = xlMinimized 


 ほほぉ、そうですか。
 「ならば。」ってことで、プログラムの中に、そのコードを入れてみました。





 すると、郵便番号一覧のテキストファイルのウィンドウが最小化するために、検索結果表示のシートが前面に出てくるようになりました。ChatGPTの回答で、一応の問題解決となりました。
 果たしてこれが根本的な解決方法と言えるのか、それは分かりません。が、当面は、これで凌ぐことができそうです。





それでは、また次の記事で
goosyun

コメント一覧

goosyun
avril_kanabun さん

 ですね、コンピュータープログラムに関しては、得意のようですな!。
 頼りになります。
avril_kanabun
へぇー、ChatGPTも使いようですね
プログラムのことならお茶の子さいさいのようですね\(^o^)/
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事