0

Excel 2003 スプレッドシートに VBA マクロがあり、Excel を実行しているマシンにそれを「インストール」したいと考えています。

ローカル マシンに「信頼できる場所」を作成しました。モジュールを既存のワークブックにコピーし、それを呼び出すためのキーの組み合わせを割り当てる方法は知っていますが、誰かが Excel を起動したときにマクロを自動的に表示する方法はわかりません。 . ヘルプ?

4

4 に答える 4

2

以前は、マクロを Personal.xls ワークブックに保存していたのを覚えています。そうすれば、Excel を開いたときにいつでもマクロにアクセスできます。これは 2007 で変更されましたか?

それは方法でし。より良い方法は、[ツール] -> [アドイン] で有効化および無効化できるアドインを作成することでした (そして現在もそうです)。(Excel を閉じて再起動しても、アドインは有効なままです)。任意の .XLS ファイルをアドイン (.XLA) として保存できます。

アドイン内では、次のメソッドを使用できます。Auto_Open

Private Sub Auto_Open()

    DoStuff

End Sub

...または、Workbook_OpenRyan が提案するように、イベントを接続することもできます。

もちろん、ユーザーはアドインを無効にできるため、Auto_Close(またはWorkbook_BeforeCloseイベント内で) 逆の操作を行うことも必要です。

Workbook_AddinInstall実際、イベントを使用する場合は、およびイベントを使用する方がよいでしょうWorkbook_AddinUninstall。それらを使用する方が少し「正しい」だけでなく、Excel を閉じて保存を求めるメッセージが表示されたときに [キャンセル] をクリックしても、「閉じる」イベントが発生しないという利点もあります。

于 2009-07-23T14:33:00.720 に答える
2

最も簡単な解決策は (xl2003 と xl2007 の両方で) マクロを含む xls を= Application.StartupPathクライアント マシンからのパスにコピーすることです (Excel をインスタンス化してこの情報を取得する単純な vbscript インストーラーを構築できます)。

この方法では、startuppath にある xls ファイルが Excel の起動時に読み込まれるため、開いているすべてのブックでマクロを使用できます。

于 2009-07-31T19:21:24.857 に答える
1

「現れる」とはどういう意味かわかりませんが、から呼び出すことで自動的に実行できます

Private Sub Workbook_Open()

End Sub

ThisWorkbookオブジェクトモジュールで。それはあなたが探しているものですか?

于 2009-07-23T14:13:12.313 に答える
1

古い方法では、マクロをワークブックに保存していたのを覚えています。Personal.xlsそうすれば、Excel を開いたときにいつでもマクロにアクセスできます。これは 2007 で変更されましたか?

于 2009-07-23T14:17:23.180 に答える