- 締切済み
vbスクリプトについて
Excelファイル(D:\test.xls)を再起動するvbスクリプトを作成し、 4時間おきに実行するタスクスケジュールを設定したいと思います。 ※6:00、10:00、14:00、18:00、22:00、2:00のタスクスケジュールを作成し、 vbスクリプトを実行。 次のタスクスケジュールが実行されるまでの4時間は、Excelファイル(D:\test.xls)は 開いたままの状態です。 なので、vbスクリプトで、まずExcelファイル(D:\test.xls)が開いている場合は、 「D:\test.xls」を一旦(上書き保存なしで)閉じて、再度、「D:\test.xls」を開きたいと思っています。 ※他のExcelファイルが開いている場合は、「D:\test.xls」のみ閉じる。 「D:\test.xls」を開くスクリプトはできたのですが、「D:\test.xls」を閉じるところがわかりません。 どなたか教えていただけないでしょうか。 【vbスクリプト】----------------------------------------- '「D:\test.xls」が開いている場合は閉じる ??? '「D:\test.xls」を起動する Dim xlApp Dim xlWbk Set xlApp=CreateObject("Excel.Application") xlApp.Visible=True Set xlWbk=xlApp.Workbooks.open("D:\test.xls",True) ---------------------------------------------------------
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sunawachi2
- ベストアンサー率56% (29/51)
間違いがあったので直しました。 Option Explicit Dim filename Dim filename2 Dim book Dim oExcel Dim FS filename="D:\test.xls" Set oExcel = GetObject(, "Excel.Application") Set FS = CreateObject("Scripting.FileSystemObject") filename2 = FS.getFileName( filename ) oExcel.DisplayAlerts = False for each book in oExcel.Workbooks if book.fullname = filename then oExcel.Workbooks(filename2).Close end if next oExcel.Workbooks.Open filename Set oExcel = Nothing Set FS = Nothing
- sunawachi2
- ベストアンサー率56% (29/51)
作ってみました。 .vbsで保存してタスクにあててみてください。 Option Explicit Dim filename Dim filename2 Dim book Dim oExcel Dim FS filename="D:\test.xls" filename2 = FS.getFileName( filename ) Set oExcel = GetObject(, "Excel.Application") Set FS = CreateObject("Scripting.FileSystemObject") oExcel.DisplayAlerts = False for each book in oExcel.Workbooks if book.fullname = filename then oExcel.Workbooks(filename2).Close end if next oExcel.Workbooks.Open filename Set oExcel = Nothing Set FS = Nothing
- gongon8
- ベストアンサー率30% (6/20)
GetObject関数を使ったら、とりあえず指定したブックは閉じられましたので お試しあれ。(ちなみに、指定したブックが閉じられていても、特にエラーにはならないみたいです) Dim xlApp Dim xlWbk Set xlWbk=GetObject("C:\test.xls") Set xlApp = xlWbk.Application xlApp.DisplayAlerts=False xlWbk.Close xlApp.Quit