完了するまでに約20分かかるマクロがあります。ユーザーがアクセスできるac#winformがあります。これには[マクロの実行]ボタンが含まれています。ユーザーがボタンを押して実際にフォームを閉じ、20分以内に事前定義されたディレクトリのマクロからの出力を確認できるようにしたいと思います。
単にデリゲートを作成してデリゲートにマクロを実行させる場合ですか、それとも上記は些細なことではありませんか?
実行可能かもしれないアイデアのカップル:
- ユーザーがボタンを押した後、フォームを非表示にするだけですか?欠点は、マクロが引き続きExcelのインスタンス内でユーザーのCPUを拘束することです。
- UserXのPC上のwinFormは、どういうわけか、「Excel」サーバーで実行するプログラムを開始できますか?これはとてつもないことのように聞こえますが、誰かが助けてくれるかもしれません。
- 上記と同様に、Excelサーバーで、2秒ごとに実行するようにスケジュールされた小さなデーモンコンソールアプリを作成し、共有データベースのテーブルをチェックして、マクロを実行する必要があるかどうかを確認できます。ユーザーのwinformがこの制御テーブルを更新すると、デーモンが機能します。