|
▼ZARDist さん:
おはようございます。
>ブックを開いてから5分後に閉じるマクロを作成したのですが、マクロが動作する前にショートカットメニューやコマンドメニューを開いた状態にしておくとマクロが動きません(途中で止まってしまう)。マクロ動作前にショートカットメニューやコマンドメニューを自動で閉じる方法はありませんでしょうか?
この現象の再現手順書(セルa1を選択した状態で右クリックすることによって表示されるメニューを表示した状態で待機する等)と「ブックを開いてから5分後に閉じるマクロ」のコードを記述するようにしてください。
「ブックを開いてから5分後に閉じるマクロ」には、Application.Ontimeメソッドを使用したコードやループで5分経過させるコードなどいくつか考えられますから・・・。
これらの記述を行えば、多くの方がZARDist さんが発見した現象を再現できますよね?
VBSや別プロセスのExcelから対象Excelを操作すると可能ですよ!!
例、メモ帳に以下のコードを記述してください。
dim app,bk,stt
Set app = CreateObject("excel.application")
With app
.Visible = True
set bk=.Workbooks.add
bk.worksheets(1).cells(1,1).value="新規ブックの表示成功"
stt=now()
do while now()-stt<=#00:00:10#
wscript.sleep 500
loop
.visible=false
.visible=true
bk.Close False
.quit
end With
set app=nothing
このテキストファイルにtest.vbsというファイル名を付けて
保存してみてください。
(尚、このまま上記のコードをコピーすると、各行の前後の空白が全角になっている可能性があります。全角のままだとエラーになりますから、コピー後に空白を半角に修正してください)
このtest.vbsを実行してください。
Excelが起動され、新規ブックが表示されます。
(セルA1に「新規ブックの表示成功」と表示後、約10秒待機します)
この間に適当なセルを選択し状態で右クリックすることによって表示されるメニューを表示した状態で待機します。
約10秒後にExcelが終了します。
Win2000&excel2002で確認しました。
一例ですが、試してみてください。
|
|