
private sub Workbook_open()に関してですが、このトリガーを設定したファイルを直接開く場合問題なく動作を行なっていますが、他のマクロから開いた場合動作しないパソコンがあります。
例えばトリガーを設定しているファイルをa.xlsmとした場合、b.xlsmで次のコードを実行した場合
sub 起動テスト()
set objExl = CreateObject("Excel.Application")
objExl.Workbooks.open( a.xlsm)
objExl.visible = true
end sub
ファイル a.xlsm自体は開きますが a.xlsmのworkbook_open()のコードは実行されないパソコンがあります。
マクロのセキュリティの設定を"すべてのマクロを有効にする"にしても動作しませんでした。
そもそも手動でa.xlsmを開いた場合はworkbook_open()が動作しているのでマクロのセキュリティの線は薄いと思いますが他に見直す設定などありますでしょうか?
環境ですが、動くパソコン、動かないパソコン両方win7、office2010になります

OSやOFFICEのバージョン次第で、開く側のマクロがVBAのイベントを止めてから開く、とはなっていないでしょうか?

PC1:win7、office2010 b.xlsmからCreateObjectでa.xlsmを開くとworkbook_open()が有効 PC2:win7、office2010 b.xlsmからCreateObjectでa.xlsmを開くとworkbook_open()が有効にならないことがある、こういうことですね。タイトルを「CreateObjectからExcelのファイルを開くと、workbook_open()が有効にならないことがある」にしたほうが回答が得られやすいかもしれません。

このブックには他のマクロは含まれていませんか?
slashさんありがとうございます。助言どおりタイトルを変更させて頂きました。また、他のマクロも含んでいましたがテスト用にCreateObjectのみのbookで試してみても同様にworkbook_openが動作するPCとしないPCがあるようです

回答1件
あなたの回答
tips
プレビュー