さまざまな共有から多数のファイルをダウンロードし、それらのファイルを作業テーブルに連結し、関連情報を操作および計算し、特定のフィールド (および計算) をレポートとして多数の Excel ワークブックにエクスポートするという非常に複雑なプロセスがあります。
このプロセスは、1 つのボタンをクリックするだけでプロセス全体がエンド ツー エンドで実行されるようにコーディングされています。「インジケータ」として機能する一連のテキスト ボックスがあります (赤 - この部分は失敗、緑 - この部分は成功)。ご想像のとおり、プロセス全体のコードは巨大 (MSWord にコピーすると 32 ページ) であり、問題が発生したときに取り除くのは困難です。
コードを表にまとめて、よりモジュール化して扱いやすくしたいと思いました。実行したいアクションを含むコンボ ボックスと、操作したいレポート/ファイル/オブジェクトを含む 2 つ目のコンボ ボックスをセットアップしました (つまり、削除 - テーブル 2、取得 - ファイル 1、エクスポート - レポート 4)。del * from tbl_test のような単純なことを行う SQL ステートメントの作成に成功し、コンボ ボックスから問題なく実行できました。
私が知る必要があるのは、本質的にコード スニペットをテーブル (メモ フィールド) に配置し、一致するコンボを選択したときにその vba コードを実行する方法があるかどうかです。
IE 'Acquire - File1' のコードは完全に VBA コードです。ネットワーク ドライブをマップし、ファイルを検索し、ファイルをダウンロードして、ディレクトリに移動します。
IE 'Scrub - tblMain_Part1' のコードは、vba と sql コードの組み合わせです。ファイルの存在を確認し (vba)、見つかった場合は、メイン テーブルの一部を削除し (sql)、見つかったファイルの内容を追加し (sql)、モニターを更新して、ファイルが存在することを示します。完了しました (vba)。ファイルが見つからない場合は、モニター ボックスを赤に変更し、コマンド ボタンのキャプション (vba) を更新します。
私は vba の天才ではありませんが、自分自身を保持しています。私が考えたプロセスは、基本的にコードをテーブル内の管理可能なチャンクに分割できれば、プロセス全体を実行したい場合はコードスミペットを順番に呼び出すか、コードの一部を再実行するだけでよいというものでした。必要に応じて、アクションとレポート/ファイル/オブジェクトの組み合わせを選択します。
どんな考え/アイデアも大歓迎です。