1

Word 2003 で実行する VBA マクロがあります。これは 1 つのモジュールとユーザー フォームに添付されたコードであり、約 30 のクライアント サイトに送信されます。これを最初に展開したとき、30 個のボックスのそれぞれの Word Startup フォルダーに .dot テンプレートを配置するように各サイトに誰かを送りました。これにより、マクロが各ユーザーのツールバーにボタンとして表示されます。

すべてのユーザーがインターネットに接続されています。

.dot テンプレートの場所はマシンによって異なるため、「インストーラー」は役に立たないのではないでしょうか?

作成されたマクロは時々変更する必要があると予想しています。ユーザーにボタンを押してマクロを更新させる方法はありますか?

プッシュ ボタンまたは更新の自動実行チェックのいずれであっても、ドキュメントを必ずしも保存せずにマクロが実行されている場所 (パス) を特定する方法と、スタートアップ フォルダーへのパスを見つける方法を知る必要があると思われます。ファイルの場所ですが、プログラムで.

4

2 に答える 2

1

これは可能です。

  1. 2 つの .dot ファイル、loader.dot (更新をチェック) と worker.dot (使用していて、自動的に更新できるようにしたいメイン マクロ) を作成します。

  2. 最初の loader.dot は C:\Program Files\Microsoft Office\OFFICE11\STARTUP に入る必要があります

これは信頼できる場所であり、マクロはすべての Word ドキュメントに読み込まれます。Word doc がロードされるたびに実行されるように、AutoExec() サブルーチンを使用します。

worker.dot は、C:\yourapp\worker.dot などの固定のインストール場所に配置できます。

loader.dot のロジックは、worker.dot への参照をすべて削除することです (マクロ セキュリティ設定で VBA モデルの信頼を有効にする必要がありました) http 呼び出しを使用して更新を確認し、新しいバージョンが利用可能な場合は、worker.dot を上書きしてダウンロードし、追加します。 worker.dot を指定するファイルからの参照

于 2011-06-22T14:47:24.557 に答える
0

ユーザーがボタンを押すモデルが理想的かどうかはわかりません。

「ローダー」テンプレートの作成を検討します。その仕事は、起動時に実行され、既に持っているテンプレート/マクロの更新を探し、それらが変更されたときにそのようなファイルをダウンロード/インストール/何でもすることです。次に、ローカルにインストールされているものをロードして使用します。

また、更新プログラムが利用可能であるが、誰かがそれを使用していない場合 (変更がアップロードされる前に Word を起動したか、オフラインである可能性があります) が問題になるかどうかについても検討する必要があります。また、人々が使用しているバージョンを知る必要がありますか? HTTP、電子メール、またはその他の方法 (Twitter?) を介して、ローダーに報告してもらいます。

そのようなローダーは、非常に安定している必要があります (そうでない場合は、ターゲット テンプレートの置換を追跡する代わりに、ローダーを置換する追跡を行うだけです)、必要に応じて自身を更新できる必要があります。

于 2011-03-18T09:50:05.823 に答える