« 遅まきながら…行ってきましたの報告。 | トップページ | 『蕎麦いろり庵きらく』でお蕎麦♪ »

2016年8月 8日 (月)

『Excel』の『Workbook_Open』には、トラップがぁ!!!

今回、意外な物にけつまづいた…。

自動起動の『Private Sub Workbook_Open()』で
自分の所で動いたのだが、
他の人の所では、動かなかった…。

あれあれ?

環境は、『Windows10』で『Office2010』だ。

で、何が違うと言うかと…

『保護されたビュー』で
『安全でない可能性がのある場所のファイルに対して、
保護されたビューを有効にする』
が有効か無効かが、違っていた。

正直

え?

って感じ。

何でこの設定が絡むの?

以下のマクロがあるとする。

----------------------------------------
Private Sub Workbook_Open()

Range("A1") = "A"
Range("B2") = "B"
Set rg = ActiveSheet.UsedRange
rg.Select

End Sub
----------------------------------------

保護ビュー設定が無いと…

20160808004

って動くのだが…

保護ビュー設定があると警告が表示される。

20160808001

『編集を有効にする』ボタンをクリックすると、
エラーが表示される。

20160808002

『デバッグ』ボタンをクリックすると…
最初の『Range("A1") = "A"』で停止している…。

20160808003

何じゃそりゃー!!!

で、動くするようにするとなると…

----------------------------------------
Private Sub Workbook_Open()

ActiveSheet.Range("A1") = "A"
ActiveSheet.Range("B2") = "B"
Set rg = ActiveSheet.UsedRange
'rg.Select
End With

End Sub
----------------------------------------

となる…。

『Select』は、駄目みたい…。

ええ!

どうすれば良いんじゃぁ!!!

このトラップ、結構、困りものです!

2016年11月07日追記--------------

対応方法をたぬきちさんより、教えていただいたので追記します。

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Range("A1") = "A"
Range("B2") = "B"
Set rg = ActiveSheet.UsedRange
rg.Select
End Sub

で、何とかなりました!

たぬきちさんありがとうございます。
----------------------------------------

|

« 遅まきながら…行ってきましたの報告。 | トップページ | 『蕎麦いろり庵きらく』でお蕎麦♪ »

コメント

たぬきちさん
アドバイスどうも!
>openイベントは使わず、activateイベントに、起動時限定の処理として書込むと上手くいくかと思います。
確認しました。
確かに上手くいきました♪
ありがとうございます。

投稿: kouyou | 2016年11月 7日 (月) 22時47分

openイベントは使わず、activateイベントに、起動時限定の処理として書込むと上手くいくかと思います。

参考URL
http://www.mrexcel.com/forum/excel-questions/605060-workbook_open-errors-after-protected-view.html

投稿: たぬきち | 2016年11月 7日 (月) 10時55分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/108365/64079109

この記事へのトラックバック一覧です: 『Excel』の『Workbook_Open』には、トラップがぁ!!!:

« 遅まきながら…行ってきましたの報告。 | トップページ | 『蕎麦いろり庵きらく』でお蕎麦♪ »