「MBS」というファイルメーカープラグインがとんでもなく多機能な件 - jeyseni's diary (hatenablog.com)(20021/5/20)以来,QRコード,正規表現,メール送受信などを実現してきたことを報告している。今回は,ファイルメーカー上にローカルのテキストファイルを読み込み,これを修正後,元のテキストファイルに上書き保存する,という機能を使うことになった。
これを使う目的は,htmlファイルの編集である。とりあえずローカルで編集したhtmlファイルは,ファイルメーカーのWebビューア機能でファイルメーカー上で表示できる。しかし,このhtmlファイルを修正しようとすると,ローカルのフォルダをウインドウで開き,当該htmlファイルを見つけてテキストファイルで開いて編集する,という作業が生じる。修正後,htmlファイルの表示が直っているかどうかの確認のために,またWebブラウザーで開かなければならない。
せっかく,ファイルメーカー上でWebビューアがあるのだから,同じレイアウト上でhtmlファイルを編集し,更新したファイルをWebビューアで表示させるのが格好いいと思ったのである。また,htmlファイル名が必ずしも順番になっていないことも多く,それならファイルメーカーのレコード単位で自動的にhtmlファイルを選択して読み込めるようにすれば,いちいちウインドウ上で探すこともない。数ファイル程度ならウインドウで開くのも苦にならないが,これが100ファイルも200ファイルもあるとなると,話は別である。
Text.ReadTextFileというスクリプト関数でテキストファイルをフィールドに読み込み,そこで修正した後,Text.WriteTextFileというスクリプト関数で元のテキストファイルを上書きする。その後,Webブラウザーで読み込み直して,htmlファイルの修正を確認できる。これが,ファイルメーカーの同じレイアウト上でできるのだから,最高である。
ファイルメーカーのネイティブで外部テキストファイルを操作できるのはVer.16以降らしいが,どうも説明を見る限り,使い勝手は悪そうに思えた。このMBSによるテキスト読み込み,書き出しは,ファイル単位で処理できるので,直感的だと思えた。
何しろ,ファイルメーカーでネイティブにテキストファイルをエクスポートすると,なぜかファイルエンコードがUSB-16になってしまい,文字化けが発生する可能性が高い。しかし,Text.WriteTextFile関数では,UTS-8などのエンコードを指定でき,文字化けの心配がないというのも,すばらしい。
「こんなことができるといいな」と思ってインターネット検索を掛けると,ほぼソリューションが見つかる。念のためMBSを調べてみると,意外なソリューションが見つかることが多い。それほど,MBSは気の利いた機能が提供されている。まあ,時にはMacオンリーとか制限もあるが,本当に役立っている。
まだまだ他にもいろいろな機能があり,解明しきれていないが,もう少し,ファイルメーカー12 Advancedで使い続けたいと思う。