2016-11-03 7 views
0

私はいくつかの作業を行うブックの一時的なコピーを作成するサブブックを持っています。問題は、ユーザーがマクロを常に有効にしていない場合に、一時ブックのマクロを実行しようとするときです。 enter image description here 私のサブが正しく動作しなくなります。VBAを使用してコピーされた新しいブックにマクロを有効にする

一時ブックのマクロを有効にする方法はありますか?私はいつもいつもマクロをいつもExcel用に有効にしたくないと思うのですが、元のブックのマクロを有効にすることを選択した場合、そのマクロを使って一時ブックに続行できますか?

+0

Excelの別のインスタンスで新しいブックを開いていますか?正確な手順についてもう少し詳しくお聞かせください。 –

+0

私は(シート名).Copyを使用しています。それがExcelの新しいインスタンスを作成するかどうかは不明です。次に、ワークブック変数を設定します:set tempWB = activeworkbook。 – KingKong

+0

コードを表示してください。それ以外の場合は、問題の原因を説明することは困難です。 –

答えて

0

要するに、マクロセキュリティが完全に無効にされていない限り、マクロはワークブックごとに明示的に有効にする必要があります。他に何かをすることは、大規模なセキュリティホールになるでしょう。 「ブックの一時コピーを作成するサブ」は、他の誰かが「悪意のあるブックをダウンロードし、その中のコードを実行するサブ」サブフォームです。元のワークブックのセキュリティコンテキストからコードのすべてを実行するか、「一時的なワークブック」が必要なワークフローを置き換えることができます。

+0

今すぐテストすることはできませんが、VBAを使用してマクロを含むブックを開くと、そのブックのマクロを有効にするように求めるメッセージは表示されません。既にユーザーのシステム上でVBAを実行しているので、その時点ですべてが既に失われています(マクロセキュリティの観点から) –

+0

Excelのセキュリティセンターの設定が既に[すべてのマクロを有効にする]に設定されている場合、アップ。私が気づいたことは、「通知ですべてのマクロを無効にする」設定でさえも、私のコードは半分の時間で問題なく動作するということです。 また、マクロセキュリティに関する2つ目の点に同意します。だからこそ私はセキュリティの設定が "持ち越せる"かどうか疑問に思っていたのです。 – KingKong

+0

@TimWilliams - 興味深い。私はそれをテストしていたとき、毎回私の仕事のPCでエラーを取得していました。 VMでもう一度テストしているので、一時的なワークブックを保存するフォルダに依存しているようです。 – Comintern

関連する問題