Workbooks.Addアド メソッド

本ページには広告が含まれています。

新しいブックを作成します。新しいブックが作業中のブックになります。

構文
  1. Workbook = Workbooks.Add( Template )
引数
Template (XlWBATemplate省略可
新しいブックの作成方法を指定します。この引数に既存のMicrosoft Excelファイルの名前を指定する文字列を指定すると、指定したファイルを含む新しいブックがテンプレートとして作成されます。
戻り値
新しいブックを表すWorkbook オブジェクト

Workbooks オブジェクトを返すメソッド・プロパティ

Application.Workbooks プロパティ
開いているすべてのワークブックを表すWorkbooks オブジェクトを返します。

定数一覧

XlWBATemplate 列挙

名前説明
xlWBATWorksheet-4167ワークシート
xlWBATChart-4109グラフ
xlWBATExcel4MacroSheet3Excel 4.0 マクロ シート
xlWBATExcel4IntlMacroSheet4Excel 4.0 インターナショナル マクロ シート
UWSC
CONST xlWBATWorksheet = -4167
CONST xlWBATChart = -4109
CONST xlWBATExcel4MacroSheet = 3
CONST xlWBATExcel4IntlMacroSheet = 4

ブックの作成

ワークシート(引数なし)

新しいブックを作成します。

引数を省略した場合作成されるシートの数は、[オプション]-[基本設定]-[新しいブックの作成時]-[ブックのシート数]に指定されているシート数となります。この値はWorkbooks.Add メソッドで取得できます。

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Add()
Book.png

ワークシート(引数あり)

引数を指定すると指定したシートが1枚追加された状態でブックが作成されます。

以下の場合、ワークシートが1枚追加された状態で作成されます。

UWSC
CONST xlWBATWorksheet = -4167

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Add(xlWBATWorksheet)
Sheet.png

グラフシート

グラフシートが1枚追加されたブックが作成されます。

UWSC
CONST xlWBATChart = -4109

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Add(xlWBATChart)
Graph.png

Excel 4.0 マクロ シート

Excel 4.0 マクロ シートが追加されたブックが作成されます。

UWSC
CONST xlWBATExcel4MacroSheet = 3

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Add(xlWBATExcel4MacroSheet)
Excel 4.0 Macro Functions Reference - cloudfront.net Macro.png

Excel 4.0 インターナショナル マクロ シート

Excel 4.0 インターナショナル マクロ シートが追加されたブックが作成されます。

UWSC
CONST xlWBATExcel4IntlMacroSheet = 4

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Add(xlWBATExcel4IntlMacroSheet)
Macro インターナショナル.png

プログラム実行例

セルに文字列を入力(A1形式)

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE

ID = GETID("Microsoft Excel")
CTRLWIN(ID, ACTIVATE)

Excel.Workbooks.Add()
Excel.Range("A1").Value = "UWSC"

// Excel.DisplayAlerts = FALSE
// Excel.Quit
使用関数
解説

セルに文字列を入力(R1C1形式)

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE

ID = GETID("Microsoft Excel")
CTRLWIN(ID, ACTIVATE)

Excel.Workbooks.Add()
Excel.Cells(1, 1).Value = "UWSC"

// Excel.DisplayAlerts = FALSE
// Excel.Quit
使用関数
解説

親オブジェクトの名前を返す

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

WITH Excel
	PRINT .ActiveCell.Parent.Name
	PRINT .ActiveSheet.Parent.Name
ENDWITH
結果
プレーンテキスト
Sheet1
Book1
使用関数

コロナのPCR検査実施人数のグラフを生成(Excel)

オープンデータ|厚生労働省PCR検査実施人数のCSVデータを使用。

UWSC
CONST xlColumnClustered = 51

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Open("D:\Downloads\pcr_tested_daily.csv")

DIM Range = Excel.Range("A1").CurrentRegion
DIM Charts = Excel.Charts.Add()  // Sheetsオブジェクト

WITH Charts
	.ChartType = xlColumnClustered
	.SetSourceData(Range)
ENDWITH
結果
PCR検査実施人数_データ.png PCR検査実施人数_グラフ.png
使用関数

オブジェクトを作成したアプリケーションを示す数値を取得

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM dec = Excel.Worksheets.Creator
DIM hex = decToHex(dec)

DIM str = ""

FOR i = 1 TO LENGTH(hex) STEP 2
	str = str + CHR("$" + COPY(hex, i, 2))
NEXT

PRINT "32bit," + dec
PRINT "32bit(16進数),0x" + hex
PRINT "文字," + str

Excel.Quit
結果
CSV
32bit,           1480803660
32bit(16進数),   0x5843454C
文字,            XCEL
使用関数

ワークブックの数と名前を取得

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE

FOR i = 1 TO 3
	Excel.Workbooks.Add()
NEXT

DIM Workbooks = Excel.Application.Workbooks

PRINT "ブック数:" + Excel.Workbooks.Count
PRINT "-----"

FOR Workbook IN Workbooks
	PRINT "ブック名:" + Workbook.Name
NEXT

SLEEP(3.00)

Excel.Application.Quit
結果
プレーンテキスト
ブック数:3
-----
ブック名:Book1
ブック名:Book2
ブック名:Book3
使用関数

アクティブセルに文字列を入力する

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM Range = Excel.Application.ActiveCell
SLEEP(1.000)
Range.Value = "abc"
SLEEP(3.000)

Excel.Application.DisplayAlerts = FALSE
Excel.Quit
使用関数

アクティブシート名を取得する

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM Worksheet = Excel.Application.ActiveSheet
PRINT Worksheet.Name

Excel.Application.DisplayAlerts = FALSE
Excel.Quit
使用関数

関連記事

XLOPEN関数 (スクリプト関数)
XLOPEN関数は、Excelまたは OOoのCalcを起動する関数です。第一引数に読み込むファイル名(新規の場合は省略)、第二引数に起動フラグ、第三引数以降にパラメータ(パスワードや読み込み専用)を指定します。
XLSETDATA関数 (スクリプト関数)
Excelのセルに値を代入します。
XLSHEET関数 (スクリプト関数)
PageSetup オブジェクト
Excel のシートの印刷設定を表すオブジェクトです。シートの用紙サイズ、余白、方向、印刷タイトルなど、印刷に関連する設定を管理するのに使用されます。
Application オブジェクト
Excel全体を表すオブジェクトです。Excel全体に対しての操作、設定変更をしたい場合に使います。
Border オブジェクト
上下左右一つひとつの罫線を表します。
Characters オブジェクト
オブジェクトに含まれる文字列の文字を表します。
Charts オブジェクト
指定されたブックまたは作業中のブックにあるすべてのグラフシートのコレクションです。
Comment オブジェクト
セルに関連付けられたコメントを表します。
FullSeriesCollection オブジェクト
グラフのデータ系列を表すコレクション。