FileMakerがExcelのVBAの代替アプリとして普及させたいと考えています。その為、以下の各種機能の追加を希望します。

Idea created by kenta567 on Apr 28, 2017
    Active
    Score2
    • 賢一宮澤
    • fm_jzin

    ■希望するFileMakerの新機能

    【希望1】Get ( ドキュメントパス )・Get ( ドキュメントパス一覧 )関連機能の拡充として、

         「ドキュメント」フォルダ以外のフォルダ内のパス一覧が取得できるようにして欲しい。

    【希望2】「フィールド内容のエクスポート」による文字コードは、「Unicode BOM付」のみの仕様であるが、

         「Shift-JIS」でエクスポートできるよう、文字コードが選択できるようにして欲しい。

    【希望3】FileMaker内の改行コード「¶」を、Windows標準の改行コード:CRLFに対応するよう、

         「Char(13)&Char(10)」に置換して、エクスポートができるようにして欲しい。

    【希望4】「Eventを送信」でしか扱うことができない、各種MS-DOSコマンドの内、

         主なコマンド(dir・mkdir・rmdir・copy・del・rename・type等)を、FileMaker関数として

         使えるよう、新しい関数を増やして欲しい。

    【希望5】テーブルをメモリ上に作成できるようにして欲しい(ディスクアクセス不要のテーブルが欲しい)。

    【希望6】画面描写を停止させる[ウインドウの固定]・[ウインドウの再表示]のスクリプトの代わりに、

         PCのファイルコピー時に表示されるようなアニメーションやメッセージを選択できるようにして欲しい。

    【希望7】ランタイムソリューションを廃止しないで欲しい。

    ――――――――――――――――――――――――――――――――――――――――――――――――――――

    ■希望理由

     皆様の中に、前任者が残した、解析難解なExcelのVBAシステムを引き継いだ経験はありませんでしょうか?

    例えば、とある基幹の重要なシステムのPCが老朽化しており、WindowsOSも、Excelのバージョンも古いので、

    全てリニュアルしようとした所、そのシステムのVBAが、ハードコード(注1)を多用しており、

    リニュアルが容易にできず、困ったことになったというケースはよく聞く所です。

      ―――――――――――――――――――――――――――――――――――――――――――――――

      (注1)ここで言う「ハードコード」とは?

      とても長いファイルパス等が、VBAスクリプト内部に、変数で処理をせずに、直接記述されている。

      その為、そのVBAファイルは、シミュレーション環境でテストすら行うことが難しく、

      実際の運用環境でのみ稼働することができる状態となっている等。

      ―――――――――――――――――――――――――――――――――――――――――――――――

     そこで、ExcelのVBAシステムの解析が困難なので、いったん解析を中止し、元々のシステム案件を伺って

    みると、「FileMakerだったらすぐにできそうだ!」と感じるケースは、意外にも多いものです。

    いざ作り始めると、あっという間に完成直前までたどり着くのですが、幾つかの問題点が出てきます。

      ―――――――――――――――――――――――――――――――――――――――――――――――

     ①ExcelのVBAシステムの代替アプリとして、FileMakerで開発を進めていくと、成果物としての演算結果の

      データの生成は短時間で開発が完了し、そのデータは早々にフィールド内に格納させることができます。

      これは、FileMakerの開発環境の優れた所によるものです。

       しかし、せっかく成果物のデータがフィールド内に格納されているにも関わらず、FileMakerからPCへ

      のデータ出力がうまく行かず、困ることが多いのです。

       具体的には、データ出力の際の文字コード・改行コードの問題や、MS-DOS関連の問題があり、この問題

      をクリアする時間の方が、全ての開発よりも多くの時間を費やしてしまいます。

       「Eventを送信」を使い始めますと、FileMakerの開発領域を外れて、果てしないMS-DOS関連の問題と

      格闘することになります。FileMakerの開発者が頻繁に利用すると推測される各種MS-DOSコマンドの内、

      主なコマンド(dir・mkdir・rmdir・copy・del・rename・type等)は「Eventを送信」を使わずに済むよう

      にして欲しいのです。この機能が充実していれば良いのに・・・と、今回、痛烈に感じる体験が、今回の

      投稿の理由となります。FileMakerのスクリプト等の作成環境は、様々な開発言語に近いものを生み出す程

      の柔軟性がありますので、この点は、ぜひFileMakerの機能の充実を望みます。

       以上が、上記の【希望1・2・3・4】の機能追加希望の理由となります。

     ②自分のPCで、FileMakerによるVBAの代替システムを、あっという間に完成させたとしても、他のPCでは

      正常に稼働しないことがあります。

       正常に稼働しない具体的なケースは、FileMaker内のスクリプトにて、インポート・検索・全置換・

      ループ処理等でディスクアクセスが多く発生するような場合が多いようです。エラー処理を工夫しても、

      なかなか正常に動作しません。

       具体的には、自分のPCのスペックが低い環境でFileMakerの開発を行った後、出来上がったFileMakerの

      ファイルを、対象のPC(スペックが高いPC)で稼働させた時、全く正常に動作しません。

      「スクリプトデバッガ」で1ステップ毎に動作の確認をすれば、もちろん、正常に動作します。

       つまり、「スクリプトのインポートの完了」=「物理的なレコードのインポート完了」ではない!

      ことが原因であると分かりました。「全置換」も同様です。しかし、これを、エラー処理で補うのは容易

      ではありません。

       そこで、ExcelのVBAのように、メモリ上で演算が行えるよう、FileMakerのテーブル自体を、メモリ上に

      作成できるようにして欲しいのです。テーブル定義の画面で、テーブルを作成するオプションとして、

      「メモリ上に作成」という項目を増やして欲しいのです。そして、スクリプト上の「変数」のように

      扱うことができればと考えています。

       ディスクアクセスが実質的に必要になるのは、その演算結果を保存したい時だけですので、

      スクリプトの途中では、テーブルデータ全てをメモリ上のデータとして扱えることができますと、

      PCによって動作しないスクリプトというものが無くなると思います。

       こういったトラブルの際の現状での解決方法として、短時間(0.5秒等)の一時停止ステップを複数箇所

      入れることによって解決していますが、とても動作がゆっくりで、動作完了まで時間がかかるスクリプトに

      なってしまいます。

       このことは、VBA派から、FileMakerを卑下する為の恰好な欠点となっております(とても悔しい)。

       その対策の為、[ウインドウの固定]・[ウインドウの再表示]を使用して、画面遷移を見えないようにした

      のですが、このスクリプトが正常に稼働しているのかどうか分からなくなってしまうので、

      [ウインドウの固定]・[ウインドウの再表示]を使用しないで稼働させると、スクリプトの動作が目視できる

      ので、とても安心感があり、動作の安定性も得られます。

       しかし、全てのスクリプト動作が目で追える程動作が遅いので、FileMakerの素敵なユーザーインター

      フェースには見合わない、前世代的なデータベースに感じてしまいます。

       [ウインドウの固定]・[ウインドウの再表示]は、このスクリプト自体の動作定義が曖昧に感じますので、

      改善の余地があると思います。

       具体的な改善希望としては、新たに追加される[ウインドウ動作の停止]スクリプトによって、ウインドウ

      表示は完全に停止し、そのスクリプトのオプション設定として、PCのファイルコピー時に表示されるような

      アニメーションやメッセージを選択できるようにして欲しいです。

       これが、上記の【希望5・6】の機能追加希望理由となります。

       以上の機能を追加していただきますと、FileMakerがExcelのVBAの代替アプリとして稼働することができる

      のではないかと考えています。

       また、【希望7】についてですが、ランタイムソリューションがありますと、システムの頒布が容易にな

      りますので、会社内でFileMakerエキスパートが自分独りであったとしても、FileMakerライセンスの購入決

      済が下りる前に、周囲に対して「論より証拠」として役に立つソリューションの提供ができますので、

      より、FileMakerの優位性をアピールすることができ、FileMakerのライセンスの購入の承認が下り易くなる

      と考えております。

       以上、全て実話に基づいての意見となりますが、上記の各種機能の追加をしていただくことによって、

      FileMakerがExcelのVBAの代替アプリとして普及させることができるものと考えております。

       ご検討いただけますよう、何卒宜しくお願い申し上げます。