Application.Quitクイット メソッド

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

Excelを終了します。変更内容は保存されずに終了処理を行うため、保存する場合は、Quitメソッドを実行する前にApplication.Quit メソッド(上書き保存)もしくはWorkbook.SaveAs メソッド(名前を付けて保存)を実行する必要があります。

ブックに変更が加えられている場合、'(ブック名)' への変更を保存しますか?とダイアログが表示されます。ダイアログを表示させたくない場合、ブックを閉じるまでにExcel.DisplayAlertsFalseを指定する処理を記述します。

構文
Application.Quit
引数
戻り値

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

Application.Quit メソッド
Microsoft Excelアプリケーションを表すApplication オブジェクトを返します。
Borders.Application プロパティ
Excel.Quitが属するApplication オブジェクトを返します。

使い方

Excelを終了

開いているExcel オブジェクトを終了します。

UWSC
Excel.Application.Quit

変更が加えられたブックを閉じる

変更が加えられている場合ブックを非同期処理で閉じる処理を行いプログラムは終了しますが、ダイアログが表示されます。

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

Excel.Range("A1") = "テキスト"

Excel.Application.Quit

ダイアログを表示されない。

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

Excel.Range("A1") = "テキスト"

Excel.Application.Quit

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

Excel.Range("A1") = "テキスト"

Workbook.SaveAs("D:\Desktop\Book1.xlsx")
Excel.Application.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")
DIM path = Excel.Application.GetOpenFilename("テキスト文書,*.txt,すべてのファイル,*.*")

IF path <> FALSE THEN PRINT path

Excel.Quit
使用関数

PowerPointを起動する(Excel)

UWSC
CONST xlMicrosoftPowerPoint = 2

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

Excel.Application.ActivateMicrosoftApp(xlMicrosoftPowerPoint)

DIM ID = GETID("PowerPoint", "PPTFrameClass")
SLEEP(5.000)

CTRLWIN(ID, CLOSE)
Excel.Quit
解説

Outlookを起動する(Excel)

UWSC
CONST xlMicrosoftMail = 3

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

Excel.Application.ActivateMicrosoftApp(xlMicrosoftMail)

DIM ID = GETID("Outlook", "rctrl_renwnd32")
SLEEP(5.000)

CTRLWIN(ID, CLOSE)
Excel.Quit
解説

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

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
使用関数

予定データをExcelから読み込み追加する(Outlook)

[download "/example/625/予定一覧.xlsx"]
UWSC
CONST xlUp = -4162
CONST olAppointmentItem = 1

HASHTBL reminders
reminders["なし"] = -1;       reminders["0分"] = 0;       reminders["5分"] = 5
reminders["10分"] = 10;       reminders["15分"] = 15;     reminders["30分"] = 30
reminders["1時間"] = 60;      reminders["2時間"] = 120;   reminders["3時間"] = 180
reminders["4時間"] = 240;     reminders["5時間"] = 300;   reminders["6時間"] = 360
reminders["7時間"] = 420;     reminders["8時間"] = 480;   reminders["9時間"] = 540
reminders["10時間"] = 600;    reminders["11時間"] = 660;  reminders["0.5日"] = 720
reminders["18時間"] = 1080;   reminders["1日"] = 1440;    reminders["2日"] = 2880
reminders["3日"] = 4320;      reminders["4日"] = 5760;    reminders["1週"] = 10080
reminders["2週"] = 20160

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
DIM Workbook = Excel.Workbooks.Open("D:\Desktop\予定一覧.xlsx")

DIM MaxRow = Excel.Cells(Excel.Rows.Count, 1).End(xlUp).Row

DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM AppointmentItem = Outlook.CreateItem(olAppointmentItem)

FOR row = 2 TO MaxRow
	PRINT row
	WITH AppointmentItem
		.Subject = Excel.Cells(row, 2).Value        // 件名
		.Location = Excel.Cells(row, 3).Value       // 場所
		.Start = Excel.Cells(row, 4).Value          // 開始時刻
		.End = Excel.Cells(row, 5).Value            // 終了時刻
		IF Excel.Cells(row, 6).Value = "○" THEN .AllDayEvent = TRUE     // 終日
		IFB reminders[Excel.Cells(row, 7).Value] <> -1 THEN
			.ReminderSet = TRUE
			.ReminderMinutesBeforeStart = reminders[Excel.Cells(row, 7).Value]     // リマインダー
		ELSE
			.ReminderSet = FALSE
		ENDIF
		.BusyStatus = 1                             // 公開方法
		.Body = Excel.Cells(row, 8).Value           // 本文
		.Save
	ENDWITH
NEXT

MSGBOX((MaxRow - 1) + "件の予定を登録しました。")

Outlook.Quit
Excel.Quit

Wordを起動する(Excel)

UWSC
CONST xlMicrosoftWord = 1

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

Excel.Application.ActivateMicrosoftApp(xlMicrosoftWord)

DIM ID = GETID("Microsoft Word", "OpusApp")
SLEEP(5.000)

CTRLWIN(ID, CLOSE)
Excel.Quit
解説

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

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
使用関数

アクティブプリンターの名前を取得

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

PRINT Excel.Application.ActivePrinter

Excel.Application.DisplayAlerts = FALSE
Excel.Quit
結果
プレーンテキスト
Brother DCP-J963N Printer on Ne03:
使用関数

スタートアップフォルダのパスを取得

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

PRINT Excel.Application.StartupPath

//Excel.Application.DisplayAlerts = FALSE
//Excel.Quit
結果
プレーンテキスト
C:\Users\akita\AppData\Roaming\Microsoft\Excel\XLSTART
使用関数

関連記事

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