ExcelまたはOOoのCalcを起動する関数です。第一引数に読み込むファイル名(新規の場合は省略)、第二引数に起動フラグ、第三引数以降にパラメータ(パスワードや読み込み専用)を指定します。
XLOPEN関数を使うとファイルが既に開かれている場合そのファイルのオブジェクトを取得するので、同じファイルが開かれて[読み取り専用]になるのを防ぐことができます。
- 構文
- Excel = XLOPEN( ファイル名, 起動フラグ, パラメータ, パラメータ, … )
- 引数
- ファイル名 (String)省略可
- 読み込むファイル名、新規の場合は省略
- 起動フラグ (Boolean = 0,#xlopen = 0)省略可
- 0(デフォルト)
- 起動済みのExcelがある場合はそれを、なければ新規にExcelを起動
- XL_NEW, True(1)
- 既にExcelが存在しても 新規にExcelを起動
- XL_BOOK(2)
- ExcelにてBOOK単位で制御したい場合(BOOKのオブジェクトを返す)
- XL_OOOC(3)
- OpenOffice.org/LibreOfficeの表計算(Calc)の起動
- パラメータ (String)省略可
- ファイルオープンに対し追加パラメータがある場合に("password:=1234", "ReadOnly:=True" 等)
Excelのパラメータ- UpdateLinks
- リンク更新方法(0:外部参照,リモート参照とも未更新、1:外部更新,リモート未更新、2:リモート更新,外部未更新、3:ともに更新)
- ReadOnly
- 読み取り専用で開く場合にTrueを指定
- Format
- テキストファイル時の区切り文字(1:タブ、2:カンマ、3:スペース、4:セミコロン)
- Password
- パスワード保護されたブックを開くのに必要なパスワード
- WriteResPassword
- 書き込み保護されたブックに書き込むのに必要なパスワード
- IgnoreReadOnly
- 「読み取り専用を推奨する」のダイアログを抑止したい場合にTrueを指定
- 戻り値
- ExcelのCOMオブジェクト
(XL_OOOC指定時はOOoのCalcのオブジェクト)
使い方
Excelを起動
起動済みのExcelがあればそれを、なければ新規にExcelを起動します。Excel オブジェクトを戻り値として返します。
Excelを起動(新規)
起動済みのExcelの有無に関係なく、Excelを新規で起動します。
パスワード保護のかかったブックを開く
パスワード保護のかかったBook1.xlsxを開きます。以下の例ではパスワードは1234です。パスワードが違う場合EXCEL cannot be startedエラーが発生します。
LibreOffice Calcを起動
LibreOffice Calcを新規で起動します。起動フラグにXL_OOOCを指定している場合は起動済みのCalcを取得することはできず、起動は新規でのみです。
LibreOffice Calcで起動(読み取り専用)
パラメータにReadOnly:=Trueを指定してBook1.xlsxをLibreOffice Calcで読み取り専用で起動します。
Workbookオブジェクトを取得
起動済み、なければ新規でExcelを起動します。Workbook オブジェクトを取得しブック名を出力します。
- 結果
複数のパラメータを指定
パラメータを複数指定する場合は、第三引数以降にカンマ区切りで指定します。以下は読み取り専用とパスワードの2つを指定しています。パラメータは順不同です。
Workbooks.Openでの書き換え
XLOPEN関数はUWSCのPro版限定なので、Free版で使用する場合はWorkbooks.Open メソッド (Excel)で書き換えることで同じように使うことができます。
Book1を1234のパスワードを入力して開く。
Book2を読み取り専用で開く。
Book3を1234のパスワードを入力して、読み取り専用で開く。
Free版でXLOPEN関数を使う
XLOPEN関数はPro版でしか使えないのですが、以下のXLOPEN関数を定義すればFree版でも使えるようになります。Pro版でXLOPEN関数が使える状態で以下の関数を定義すると、自分で定義した方の関数が優先的に使用されます。
プログラム実行例
気象庁のホームページから一月分の気温を取得しExcelでグラフを作成

Excelを起動
LibreOffice Calcを起動
Excelでセルに値を代入
セルに配列の値を代入
配列の場合、セル位置は必須。
指定したシートをアクティブにする
指定したセルから値を取得します
楽天銀行定期預金の金利をExcelに保存
関連記事
- XLSETDATA関数 (スクリプト関数)
- Excelのセルに値を代入する。
- XLSHEET関数 (スクリプト関数)
- Excelシートを追加・削除する。
- PageSetup オブジェクト
- Excel のシートの印刷設定を表すオブジェクトです。シートの用紙サイズ、余白、方向、印刷タイトルなど、印刷に関連する設定を管理するのに使用されます。
- Application オブジェクト
- Excel全体を表すオブジェクトです。Excel全体に対しての操作、設定変更をしたい場合に使います。
- Border オブジェクト
- 上下左右一つひとつの罫線を表します。
- Characters オブジェクト
- オブジェクトに含まれる文字列の文字を表します。
- Charts オブジェクト
- 指定されたブックまたは作業中のブックにあるすべてのグラフシートのコレクションです。
- Comment オブジェクト
- セルに関連付けられたコメントを表します。
- FullSeriesCollection オブジェクト
- グラフのデータ系列を表すコレクション。
- LineFormat オブジェクト
- 線に関する書式設定。
