| 
    
     |  | こんにちは。 
 >ちなみに私が作ったマクロは以下の通りです。
 >
 >Private Sub Workbook_Open()
 >Timer
 >End Sub
 >
 >Sub Timer()
 >  Dtime = Now + TimeValue("00:05:00")
 >  Wtime = TimeValue("00:00:00")
 >Application.OnTime TimeValue(Dtime),"Autoclose",TimeValue(Wtime)
 >End Sub
 >
 >Sub Autoclose()
 >ActiveWorkbook.Close
 >End Sub
 >
 >次に再現手順についてご説明いたします。
 >(上記マクロを保存して)
 >1.エクセルを「マクロ有効」にして開く
 >2.セルを選択し右クリックしてショートカットメニューを表示させる
 >(またはコマンドボタンを押してプルダウンメニューを表示させる)
 >3.本来なら5分後にブックが閉じるはずなのに閉じない
 >4.ショートカットメニューおよびプルダウンメニューを手動で閉じるとブックが自動で閉じる
 
 ↑こういう記述があると、多くの方が再現出来ますよね!!
 
 >
 >>VBSや別プロセスのExcelから対象Excelを操作すると可能ですよ!!
 >すごいですね!びっくりしました!!
 >大変恐縮ですがもう2、3ご教示頂けませんでしょうか?
 >
 >1.特定のブックを開きたい場合vbsのコード上でどのように表記すればよいでしょうか?
 >2.特定のブックのみ閉じたい場合vbsのコード上でどのように表記すればよいでしょうか?
 
 dim app,bk,stt,fs
 set fs=createobject("scripting.filesystemobject")
 Set app = CreateObject("excel.application")
 With app
 .Visible = True
 set bk=.Workbooks.open(fs.GetParentFolderName(wscript.scriptfullname) & "\book1.xls")
 bk.worksheets(1).cells(1,1).value="book1.xlsの表示成功"
 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
 set fs=nothing
 
 但し、上記のVbsコードを含むtest.vbsと読み込むブックであるBook1.Xlsは
 同じフォルダ内にあるものとします。
 (これも行の前後の全角の空白に気をつけてください)
 
 nさん、こんにちは。
 
 >やはりvbsなのかな、という気もしますが、セル編集中に対しての対策は思い浮かびませんので
 
 VBSからだとセルを編集中の場合は、駄目ですね!!
 
 でも、同じ方針で別Excelからコントロールすると私の環境だと
 うまくいきましたよ!!(Win2000&Excel2002)
 
 例、
 Book2.Xlsというブックの標準モジュールに
 
 '==================================================================
 Option Explicit
 Dim app As Application
 Dim bk As Workbook
 Sub main()
 Set app = CreateObject("excel.application")
 With app
 .Visible = True
 Set bk = .Workbooks.Open(ThisWorkbook.Path & "\book1.xls")
 End With
 Application.OnTime Now() + #12:00:05 AM#, "test"
 End Sub
 '==================================================================
 Sub test()
 app.Visible = False
 app.Visible = True
 bk.Close False
 '  app.Quit
 Set app = Nothing
 Set bk = Nothing
 End Sub
 
 として、読み込むブックBook1.Xlsと同じフォルダ上に保存した後、
 実行してみて下さい。
 
 >エクセルブックは共有サーバーに入れていて複数名で交互に編集しますので
 
 Excelで↑こういうことするのは難しいですね!!
 (参照だけなら、可能ですが)。
 
 
 試してみてください。
 
 
 |  |