本ページには広告が含まれています。
目次
Excelのアプリ画面の表示・非表示を表すブール型の値を取得または設定します。
Application.Visible プロパティをTrueに設定すると、Excel アプリケーションウィンドウが表示され、Falseに設定すると、Excelアプリケーションウィンドウが非表示になります。ただし、非表示になっていても処理は実行されバックグラウンドで動作し続けます。
- 構文
- Boolean = Application.Visible
- Application.Visible = Boolean
- 引数
- 戻り値
Application オブジェクトを返すメソッド・プロパティ
- Application.Visible プロパティ
- Microsoft Excelアプリケーションを表すApplication オブジェクトを返します。
使い方
アプリケーション画面を表示します。
Excel.Application.Visible = TRUE
アプリケーション画面を非表示にします。
Excel.Application.Visible = FALSE
以下はExcelオブジェクトの生成時に、アプリケーション画面を表示させてからセルに値を代入。
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()
Excel.Range("A1").Value = "UWSC"
以下はExcelオブジェクトを生成し、セルに値を代入してからアプリケーション画面を表示。アプリ画面が表示されていない間に記述された処理も問題なく実行されます。
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Workbooks.Add()
Excel.Range("A1").Value = "UWSC"
Excel.Visible = TRUE
Application.Visible プロパティで画面を表示しておくと、プログラムの動作確認ができる一方で、処理の途中でユーザーが手を加えることもできてしまいます。プログラム動作中にユーザーがセルの編集や別なシートを選択することで誤作動やエラーの原因にもなるので、必要であればApplication.Visible プロパティの値をFalseに指定して処理をすることをおすすめします。
プログラム実行例
ワークブックの数と名前を取得
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"]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
使用関数
アクティブシート名を取得する
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
使用関数
アクティブプリンターの名前を取得
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
PRINT Excel.Application.ActivePrinter
Excel.Application.DisplayAlerts = FALSE
Excel.Quit
結果
Brother DCP-J963N Printer on Ne03:
使用関数
スタートアップフォルダのパスを取得
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 オブジェクト
- グラフのデータ系列を表すコレクション。