最新の Excel では新規で自動的に作成されるシートのデフォルトは一つです。但しそれは Excel のオプション設定で変更可能なので、必要であれば Book.Worksheets.Count というように現在のシート数を取得してコードを変更すれば良いと思います。 保存する形式としては、可能列挙型 (Excel) / SaveAs メソッド で使用する定数 より選択して SaveAs メソッドの第二引数に指定します。ここでは、.xls( 56 ) を使用しています
01.
' ****************************
02.
' Excel オブジェクト作成
03.
' ****************************
04.
Set
App = CreateObject(
"Excel.Application"
)
05.
06.
' ****************************
07.
' 警告を出さないようにする
08.
' ****************************
09.
App.DisplayAlerts =
False
10.
11.
' ****************************
12.
' ブック追加
13.
' ****************************
14.
App.Workbooks.Add()
15.
16.
' ****************************
17.
' 追加したブックを取得
18.
' ****************************
19.
Set
Book = App.Workbooks( App.Workbooks.Count )
20.
21.
' ****************************
22.
' 現状、ブックにはシート一つ
23.
' という前提で処理していますが
24.
' 必要であれば、Book.Worksheets.Count
25.
' で現在のシートの数を取得できます
26.
' ****************************
27.
Set
Worksheet = Book.Worksheets( 1 )
28.
Worksheet.Activate()
29.
30.
' ****************************
31.
' Add では 第二引数に指定した
32.
' オブジェクトのシートの直後に、
33.
' 新しいシートを追加します。
34.
' ****************************
35.
Call
Book.Worksheets.Add(,Worksheet)
36.
37.
' ****************************
38.
' シート名設定
39.
' ****************************
40.
Book.Sheets(1).Name =
"新しい情報"
41.
Book.Sheets(2).Name =
"予備情報"
42.
43.
' ****************************
44.
' 参照
45.
' 最後の 1 は、使用するフィルター
46.
' の番号です
47.
' ****************************
48.
FilePath = App.GetSaveAsFilename(,
"Excel ファイル (*.xlsx), *.xlsx,古いExcel ファイル (*.xls), *.xls"
, 1)
49.
if FilePath =
"False"
Then
50.
MsgBox
"Excel ファイルの保存選択がキャンセルされました"
51.
Wscript.Quit()
52.
End
If
53.
54.
' ****************************
55.
' 保存
56.
' 拡張子を .xls で保存するには
57.
' Call ExcelBook.SaveAs( BookPath, 56 ) とします
58.
' ****************************
59.
on error resume next
60.
if Ucase(Right(FilePath,3)) =
"XLS"
then
61.
Call
Book.SaveAs( FilePath, 56 )
62.
else
63.
Book.SaveAs( FilePath )
64.
end if
65.
if Err.Number <> 0 then
66.
MsgBox(
"ERROR : "
& Err.Description )
67.
end if
68.
on error goto 0
69.
70.
' ****************************
71.
' Excel をアプリケーションとして終了
72.
' ****************************
73.
App.Quit()
74.
75.
' ****************************
76.
' Excel を VBScript から開放
77.
' ****************************
78.
Set
App =
Nothing
79.
80.
' ****************************
81.
' オブジェクト変数を初期化
82.
' ( 初期化しないとオブジェクト扱いされる )
83.
' ****************************
84.
App = Empty
85.
86.
87.
MsgBox(
"処理が終了しました"
)
Microsoft ドキュメント Application.GetSaveAsFilename メソッド (Excel) Application.GetOpenFilename メソッド (Excel) Worksheets.Add メソッド (Excel) Workbook.SaveAs メソッド (Excel) 可能列挙型 (Excel) / SaveAs メソッド で使用する定数