1

Excelスプレッドシート用のコードをいくつか作成しました。このサブは、[ファイル]->[オプション]->[リボンのカスタマイズ]にある標準のカスタマイズを使用してリボンに追加されています。ただし、面白いのは、カスタマイズによって、サブが書き込まれている正確なEXCELファイル(つまり、元のファイル)でサブが実行されることです。

私のユーザーはExcelファイルをコピーして調整を行い、次に(リボンのカスタマイズされたボタンをクリックして)サブを実行します。これにより、元のテンプレートファイルが開き、コードが実行されます。これは実際には正常に機能します。ACTIVEシートでTEMPLATEコードを実行するので、気に入っています。ただし、唯一の問題は、元のテンプレートファイルを開くことでもあります。どうすれば閉じることができますか?もうActiveSheetではないことを忘れないでください。

考えられる答えの1つは、テンプレートが開いているかどうかを確認してから(静的参照を使用して)閉じることですが、それよりも少しエレガントなものをお勧めします。

4

1 に答える 1

0

を使用してテンプレート/オリジナルを見つけることができるはずですThisWorkbook


また、ブックのコードを.xlsmではなく.xlamとして配信すると、ブックは開かれますが、ウィンドウが表示されないため、ユーザーには表示されません。


これをすでに使用しているかどうかはわかりませんが、.xlamのリボンボタンを追加するときに「このワークブックのみ」を使用することもできます。(.xlamとして配信すると、ファイルパスに依存せずに、またユーザーがボタンをインストールする必要なしに、ブックからリボンにボタンをインストールできます(代わりに.xlamをインストールします)。)

于 2013-01-06T16:12:58.590 に答える