Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1267 / 13644 ツリー ←次へ | 前へ→

【75265】シートコピー後、図形に登録されたマクロは、どう働く? ヤマネコ 14/1/25(土) 20:24 質問[未読]
【75276】Re:シートコピー後、図形に登録されたマク... ウッシ 14/1/29(水) 8:19 回答[未読]
【75283】Re:シートコピー後、図形に登録されたマク... ヤマネコ 14/2/2(日) 0:04 お礼[未読]
【75345】Re:シートコピー後、図形に登録されたマク... 名無し 14/2/15(土) 3:01 発言[未読]
【75284】Re:シートコピー後、図形に登録されたマク... kuro 14/2/2(日) 20:15 発言[未読]

【75265】シートコピー後、図形に登録されたマクロ...
質問  ヤマネコ  - 14/1/25(土) 20:24 -

引用なし
パスワード
   或るワークシートに表があります。
その表の脇には図形も配置して、その図形には
その表をソートさせるマクロを登録しました。そのマクロは標準モジュールに記述してあります。
ここまでは、動作は良好です。
問題はこの先です。

このワークシートをVBAで、コピーし、新規ブックに(名前を付けて保存)してみますと、
自宅のPC上と、職場のPC上とでは、結果が異なり悩んでいます。

ThisWorkbook.WorkSheets(“コピー元”).Copy
    ActiveWorkbook.SaveAs Filename:= “新ブック” & “.xls ” , FileFormat:= xlNormal

自宅の場合、「新ブック」にコピーされた、【図形ボタン】をクリックすると、マクロは実行できないというメッセージが出ます。(新ブックにはマクロが存在しないにも関わらず、このコピーされた【図形ボタン】は、新ブックに含まれるマクロを実行しようとしているからです。)
一方職場では、「新ブック」の【図形ボタン】をクリックすると、コピー元のブックのマクロを実行することができてしまいます。(コピー元のブックが開いてない場合は自動的に開かせることまでできます。)

1.この違いはどこにあるのでしょうか?
2.この設定の違いを自在に操るにはどうしたら良いのでしょうか?

の2点を教えていただきたいと思っています。
(今回求めているのは、どの環境でも安定して、コピー元のマクロを実行させること(後者)です。マクロをシートモジュールに記述しなかったのはそのためです。)
どうぞよろしくお願いします。

【75276】Re:シートコピー後、図形に登録されたマ...
回答  ウッシ  - 14/1/29(水) 8:19 -

引用なし
パスワード
   ▼ヤマネコ さん:

こんにちは

図形に登録したマクロはファイルパス込みで保存されるようです。
会社と自宅で元のファイルの置き場所(ドライブ、フォルダ構成)を統一すれば
どちらでも動くと思うので試して下さい。

逆に言うと、マクロブックを自宅に持ち帰り、図形をクリックして「新ブック.xls」
を作成してから、それを開いて図形をクリックすればマクロ実行出来ると思います。


>或るワークシートに表があります。
>その表の脇には図形も配置して、その図形には
>その表をソートさせるマクロを登録しました。そのマクロは標準モジュールに記述してあります。
>ここまでは、動作は良好です。
>問題はこの先です。
>
>このワークシートをVBAで、コピーし、新規ブックに(名前を付けて保存)してみますと、
>自宅のPC上と、職場のPC上とでは、結果が異なり悩んでいます。
>
> ThisWorkbook.WorkSheets(“コピー元”).Copy
>    ActiveWorkbook.SaveAs Filename:= “新ブック” & “.xls ” , FileFormat:= xlNormal
>
>自宅の場合、「新ブック」にコピーされた、【図形ボタン】をクリックすると、マクロは実行できないというメッセージが出ます。(新ブックにはマクロが存在しないにも関わらず、このコピーされた【図形ボタン】は、新ブックに含まれるマクロを実行しようとしているからです。)
>一方職場では、「新ブック」の【図形ボタン】をクリックすると、コピー元のブックのマクロを実行することができてしまいます。(コピー元のブックが開いてない場合は自動的に開かせることまでできます。)
>
>1.この違いはどこにあるのでしょうか?
>2.この設定の違いを自在に操るにはどうしたら良いのでしょうか?
>
>の2点を教えていただきたいと思っています。
>(今回求めているのは、どの環境でも安定して、コピー元のマクロを実行させること(後者)です。マクロをシートモジュールに記述しなかったのはそのためです。)
>どうぞよろしくお願いします。

【75283】Re:シートコピー後、図形に登録されたマ...
お礼  ヤマネコ  - 14/2/2(日) 0:04 -

引用なし
パスワード
   ご助言をありがとうございました。

あれからまた、ご助言も参考にしながら、あれこれと試してみましたが、どうもうまくいきません。理解不能です。
(ちなみに職場では、強力なセキュリティ牙城の中のサーバーで仕事をすることになるので、出し入れは不可なのです。全部、手動でコピーして再入力しなけりゃ比較することもままならない状態なのです。(愚痴でした。))

当面あきらめます。他の手を考えます。
ありがとうございました。

▼ウッシ さん:
>▼ヤマネコ さん:
>
>こんにちは
>
>図形に登録したマクロはファイルパス込みで保存されるようです。
>会社と自宅で元のファイルの置き場所(ドライブ、フォルダ構成)を統一すれば
>どちらでも動くと思うので試して下さい。
>
>逆に言うと、マクロブックを自宅に持ち帰り、図形をクリックして「新ブック.xls」
>を作成してから、それを開いて図形をクリックすればマクロ実行出来ると思います。
>
>
>>或るワークシートに表があります。
>>その表の脇には図形も配置して、その図形には
>>その表をソートさせるマクロを登録しました。そのマクロは標準モジュールに記述してあります。
>>ここまでは、動作は良好です。
>>問題はこの先です。
>>
>>このワークシートをVBAで、コピーし、新規ブックに(名前を付けて保存)してみますと、
>>自宅のPC上と、職場のPC上とでは、結果が異なり悩んでいます。
>>
>> ThisWorkbook.WorkSheets(“コピー元”).Copy
>>    ActiveWorkbook.SaveAs Filename:= “新ブック” & “.xls ” , FileFormat:= xlNormal
>>
>>自宅の場合、「新ブック」にコピーされた、【図形ボタン】をクリックすると、マクロは実行できないというメッセージが出ます。(新ブックにはマクロが存在しないにも関わらず、このコピーされた【図形ボタン】は、新ブックに含まれるマクロを実行しようとしているからです。)
>>一方職場では、「新ブック」の【図形ボタン】をクリックすると、コピー元のブックのマクロを実行することができてしまいます。(コピー元のブックが開いてない場合は自動的に開かせることまでできます。)
>>
>>1.この違いはどこにあるのでしょうか?
>>2.この設定の違いを自在に操るにはどうしたら良いのでしょうか?
>>
>>の2点を教えていただきたいと思っています。
>>(今回求めているのは、どの環境でも安定して、コピー元のマクロを実行させること(後者)です。マクロをシートモジュールに記述しなかったのはそのためです。)
>>どうぞよろしくお願いします。

【75284】Re:シートコピー後、図形に登録されたマ...
発言  kuro  - 14/2/2(日) 20:15 -

引用なし
パスワード
   セキュリティレベルを色々変えて試してみました。

結果,
"すべてのマクロを有効にする"にするか"デジタル署名されたマクロを除き…"にし"信頼できる発行元"に指定されている場合に警告文なしでマクロが実行されるようです。

企業のPCのセキュリティレベルが低く設定されているとは考えにくいので,マクロにデジタル署名されているのではないでしょうか?

【75345】Re:シートコピー後、図形に登録されたマ...
発言  名無し  - 14/2/15(土) 3:01 -

引用なし
パスワード
   マクロの登録を標準モジュールではなく、シートモジュールに登録してはどうでしょうか?
シートモジュールは、シートに登録されているので、シートコピーすると、
マクロもコピーされたと思いますが?

1267 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free