Application.Visibleビジブル プロパティ

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

Excelのアプリ画面の表示・非表示を表すブール型の値を取得または設定します。

Application.Visible プロパティTrueに設定すると、Excel アプリケーションウィンドウが表示され、Falseに設定すると、Excelアプリケーションウィンドウが非表示になります。ただし、非表示になっていても処理は実行されバックグラウンドで動作し続けます。

構文
  1. Boolean = Application.Visible
  2. Application.Visible = Boolean
引数
戻り値

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

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

使い方

アプリケーション画面を表示します。

UWSC
Excel.Application.Visible = TRUE

アプリケーション画面を非表示にします。

UWSC
Excel.Application.Visible = FALSE

以下はExcelオブジェクトの生成時に、アプリケーション画面を表示させてからセルに値を代入。

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

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

以下はExcelオブジェクトを生成し、セルに値を代入してからアプリケーション画面を表示。アプリ画面が表示されていない間に記述された処理も問題なく実行されます。

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

Excel.Range("A1").Value = "UWSC"
Excel.Visible = TRUE

Application.Visible プロパティで画面を表示しておくと、プログラムの動作確認ができる一方で、処理の途中でユーザーが手を加えることもできてしまいます。プログラム動作中にユーザーがセルの編集や別なシートを選択することで誤作動やエラーの原因にもなるので、必要であればApplication.Visible プロパティの値をFalseに指定して処理をすることをおすすめします。

プログラム実行例

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

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

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

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 オブジェクト
グラフのデータ系列を表すコレクション。