まずはVBAでやる場合
Excelをプログラムであやつる場合、何はともあれVBAが基本になります。
シートを追加するには、Excel.Worksheets#Addを使います。
定義は、
Function Add([Before], [After], [Count], [Type]) As Object
となっており、名前付き引数と呼ばれるものになってます。
例えば、VBAからこの関数を呼ぶには、以下のようにします。
Sub hoge() Sheets.Add After:=Sheets("Sheet3") End Sub
現在アクティブになっているExcelブックのSheet3の後ろに、
シートが一つ追加されます。
次にVBScriptでやる場合
VBScriptでは、名前付き引数の指定はできないので、
代わりに不要な引数を省略します。
' Excelを起動 Set excelObj = CreateObject("Excel.Application") ' Workbookを開く Set workbook = excelObj.workbooks.Open("hoge.xls") ' "Sheet3"の後ろにシートを追加 Set newSheet = workbook.Sheets.Add(, workbook.Sheets("Sheet3")) ' 保存 workbook.Save() ' Excelを終了 excelObj.Quit()
最後にJScriptでやる場合
JScriptでは、名前付き引数の指定や、引数の省略はできないので、代わりにnullを指定します。
var excelObj = new ActiveXObject("Excel.Application"); var workbook = excelObj.workbooks.Open("hoge.xls"); var newSheet = workbook.Sheets.Add(null, workbook.Sheets("Sheet3")) workbook.Save() excelObj.Quit()
昨日、
JScriptでは、VBScriptのように、オプションパラメータを省略できないので、全てのパラメータを指定する必要がある。省略するパラメータにはnullを設定する。 / Javascript ADO Connection Strin URL
とツイートしたのですが、
「全てのパラメータを指定する必要がある」
はウソでしたね。
前から順番に必要なパラメータだけを指定すればOKです。