「テキストファイルは万能だ。」
って書きました。
その昨日の記事は、
⇒ こちらをご覧ください。
「万能」という言い方は誤解を与えかねない表現ですが、「多くのアプリケーションソフトで扱える。」っていう意味、ただそれだけの意味です。
テキストファイルは、単にテキスト(文字)情報だけを保存する、単純なファイルです。その単純さゆえに、単純だからこそ、いろんなアプリで、読み込み、それから処理が可能なのです。
ただし、中味は単純ではあるけれども、テキストファイルには、いつも付きまとう問題が一つあります。文字コードの問題です。
文字コードにはいくつか種類があって、文字コードが一致しないと文字化けを起こします。
Windows10や11に標準で備わっている簡易エディタ「メモ帳」のデフォルト(既定)の文字コードは、
「BOMなしのUTF-8」
です。
それに合わせるように、オープンソースのテキストエディター「サクラエディタ」においても、デフォルトの文字コードが途中から変わりました。2020年4月にリリースされたバージョン2.4.0から、BOMなしのUTF-8が、デフォルトの文字コードになっています。
ですから、現在においては、多くのテキストファイルが、UTF-8の文字コードを使って作成されているのではないでしょうか(個人的な憶測です。正確な裏付けはありません。)。
そして、ExcelマクロやWordマクロを使ってテキストファイルを開くのに、
対象となるテキストファイルの文字コードが何かによって、方法が違ってきます。
Shift-Jis の場合、
Open myTxt For Input As #1
というVBAコードになります。
対して、UTF-8の場合
ADO(ActiveX Data Objects)の Stream オブジェクト(ADODB.Stream)を使用します。
ADOなんて、一般の人にはちんぷんかんぷんの言葉でしょうが、要するにデータベースにアクセスする仕組みの一つです。そんな説明をされても、なお分からないでしょうが、それでいいと思います。私も、中味はよく分かりません。
従前は、Open myTxt For Inputというコードでテキストファイルを扱っていました。でも、これからは、ADO(ActiveX Data Objects)を使ったコードをも覚えていくことにします。
デジタルの世界は、どんどん発展していくので、ついていくのが大変です。
それでは、また次の記事で
■■■■ goosyun ■■■■
《2022年9月23日追記》
ADOのStreamオブジェクトを使ったテキストファイル入出力操作について、解説記事を書きました。
VBAコードも掲載しています。
⇒ こちらの記事をご覧ください。
最近の「VBAプログラミング・マクロ」カテゴリーもっと見る
最近の記事
カテゴリー
バックナンバー
人気記事