最新の Excel では新規で自動的に作成されるシートのデフォルトは一つです。但しそれは Excel のオプション設定で変更可能なので、必要であれば Book.Worksheets.Count というように現在のシート数を取得してコードを変更すれば良いと思います。 保存する形式としては、可能列挙型 (Excel) / SaveAs メソッド で使用する定数 より選択して SaveAs メソッドの第二引数に指定します。ここでは、.xls( 56 ) を使用しています
' **************************** ' Excel オブジェクト作成 ' **************************** Set App = CreateObject("Excel.Application") ' **************************** ' 警告を出さないようにする ' **************************** App.DisplayAlerts = False ' **************************** ' ブック追加 ' **************************** App.Workbooks.Add() ' **************************** ' 追加したブックを取得 ' **************************** Set Book = App.Workbooks( App.Workbooks.Count ) ' **************************** ' 現状、ブックにはシート一つ ' という前提で処理していますが ' 必要であれば、Book.Worksheets.Count ' で現在のシートの数を取得できます ' **************************** Set Worksheet = Book.Worksheets( 1 ) Worksheet.Activate() ' **************************** ' Add では 第二引数に指定した ' オブジェクトのシートの直後に、 ' 新しいシートを追加します。 ' **************************** Call Book.Worksheets.Add(,Worksheet) ' **************************** ' シート名設定 ' **************************** Book.Sheets(1).Name = "新しい情報" Book.Sheets(2).Name = "予備情報" ' **************************** ' 参照 ' 最後の 1 は、使用するフィルター ' の番号です ' **************************** FilePath = App.GetSaveAsFilename(,"Excel ファイル (*.xlsx), *.xlsx,古いExcel ファイル (*.xls), *.xls", 1) if FilePath = "False" Then MsgBox "Excel ファイルの保存選択がキャンセルされました" Wscript.Quit() End If ' **************************** ' 保存 ' 拡張子を .xls で保存するには ' Call ExcelBook.SaveAs( BookPath, 56 ) とします ' **************************** on error resume next if Ucase(Right(FilePath,3)) = "XLS" then Call Book.SaveAs( FilePath, 56 ) else Book.SaveAs( FilePath ) end if if Err.Number <> 0 then MsgBox( "ERROR : " & Err.Description ) end if on error goto 0 ' **************************** ' Excel をアプリケーションとして終了 ' **************************** App.Quit() ' **************************** ' Excel を VBScript から開放 ' **************************** Set App = Nothing ' **************************** ' オブジェクト変数を初期化 ' ( 初期化しないとオブジェクト扱いされる ) ' **************************** App = Empty MsgBox( "処理が終了しました" )
Microsoft ドキュメント Application.GetSaveAsFilename メソッド (Excel) Application.GetOpenFilename メソッド (Excel) Worksheets.Add メソッド (Excel) Workbook.SaveAs メソッド (Excel) 可能列挙型 (Excel) / SaveAs メソッド で使用する定数