既存のファイルを開く
【オブジェクト】
Workbooks
【メソッド】
_com_ptr_t Open ( _bstr_t Filename,
const _variant_t & UpdateLinks,
const _variant_t & ReadOnly,
const _variant_t & Format,
const _variant_t & Password,
const _variant_t & WriteResPassword,
const _variant_t & IgnoreReadOnlyRecommended,
const _variant_t & Origin,
const _variant_t & Delimiter,
const _variant_t & Editable,
const _variant_t & Notify,
const _variant_t & Converter,
const _variant_t & AddToMru )
【戻り値】
開いたExcelファイルの_Workbookオブジェクトを返します。
【引数】
Filename :
開くブックのファイル名
UpdateLinks (省略可能):
リンクの更新方法の指定
0 外部参照、リモート参照ともに更新しない
1 外部参照は更新、リモート参照は更新しない
2 外部参照は更新しない、リモート参照は更新
3 外部参照、リモート参照ともに更新
[省略:] 外部参照、リモート参照の設定してあるブックを開く時、リンク更新のダイアログが表示される
ReadOnly (省略可能):
読み取り専用モードで開くかどうかの指定
True 読み取り専用
False 読み取り専用で開かない(既定値)
[省略:] 読み取り専用で開かない(= False)
Format (省略可能):
テキストファイルを開くときの、項目区切り文字を指定
1 タブ
2 カンマ(,)
3 スペース
4 セミコロン(;)
5 なし
6 引数Delimiterで指定した文字
[省略:] 現在指定されている区切り文字
Password (省略可能):
パスワードで保護されたブックを開く時、必要なパスワード指定
[省略:] パスワードで保護されたブックを開く時、パスワード入力を促すダイアログが表示される
WriteResPassword (省略可能):
書き込み保護されたブックに書き込みをする時に必要なパスワードの指定
[省略:] パスワードが必要な時、パスワード入力を促すダイアログが表示される
IgnoreReadOnlyRecommended (省略可能):
[読み取り専用を推奨する]チェックボックスをオンにして保存されたブックを開く時に、
読み取り専用を推奨するメッセージを表示するかどうかの設定
True 読み取り専用を推奨するメッセージを非表示
False 読み取り専用を推奨するメッセージを表示(既定値)
[省略:] 読み取り専用を推奨するメッセージを表示(= False)
Origin (省略可能):
テキストファイルを開く時、テキストファイルの形式を指定
XlPlatformで定義された定数を指定します。
enum XlPlatform
{
xlMacintosh = 1, //Macintosh用
xlMSDOS = 3, //MS-DOS用
xlWindows = 2 //Windows用
};
[省略:] 現在のオペレーティングシステムの形式が使われる
Delimiter (省略可能):
引数FileNameにテキストファイル、引数Formatに6が指定されている場合、
区切り文字として使用する文字を指定。文字列を指定すると最初の文字が使用される。
Editable (省略可能):
引数FileNameに指定したファイルがExcel4.0のアドインの場合、アドインをウィンドウとして表示/非表示を指定
引数FileNameに指定したファイルがExcelのテンプレートの場合、テンプレートの開き方を指定
True Excel4.0のアドインの場合、アドインをウィンドウとして表示
Excelテンプレートの場合、指定されたテンプレートを編集用に開く
False Excel4.0のアドインの場合、アドインは非表示(既定値)
Excelテンプレートの場合、指定されたテンプレートを基にした新しいブックを開く(既定値)
[省略:] False
Notify (省略可能):
引数FileNameに指定したファイルが読み取り/書き込みモードで開けない場合、
ファイルを通知リストに追加するかどうかの指定。
通知リストの追加すると編集可能になった時点で、ユーザーに通知。
True 読み取り専用モードでファイルを開き、ファイルを通知リストに追加。
False ファイルが開けない場合、通知を行わずにエラーを発生する(既定値)
[省略:] False
Converter (省略可能):
最初に使うファイルコンバータのインデックス番号の指定
指定したファイルコンバータでの変換失敗時は、他の全てのファイルコンバータで変換を試みます。
指定するインデックス番号は、ApplicationオブジェクトのFileConvertersから取得できます。
AddToMru (省略可能):
最近使用したファイルの一覧をこのブックに追加するかどうかの指定
True 最近使用したファイルの一覧をこのブックに追加
False 最近使用したファイルの一覧をこのブックに追加しない(既定値)
[省略:] False
【サンプル】
//Excelを操作するためのタイプライブラリを読みこむ(Excel2000用)
#import "C:\Program Files\Microsoft Office\Office\Mso9.dll" no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\Vbe6ext.olb" no_namespace
#import "C:\Program Files\Microsoft Office\Office\excel9.olb" rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") rename("DocumentProperties", "DocumentPropertiesXL") no_dual_interfaces
//名前空間の設定
using namespace Excel;
//オブジェクトの定義
_ApplicationPtr pXL;
void CImp_wbk_OpenDlg::OnButton1()
{
//Excelの起動
pXL.CreateInstance(L"Excel.Application");
//Excelを表示
pXL->Visible = TRUE;
}
void CImp_wbk_OpenDlg::OnButton2()
{
pXL->DisplayAlerts = false;
pXL->Quit();
pXL = NULL;
}
//Excelを開く
void CImp_wbk_OpenDlg::OnButton3()
{
//既存のExcelワークブック
//(環境に合わせてファイル名は、修正して下さい。)
pXL->Workbooks->Open("C:\\temp\\TEST.xls");
}
//パスワードで保護されたExcelを開く
void CImp_wbk_OpenDlg::OnButton4()
{
//既存のExcelワークブック
//(環境に合わせてファイル名は、修正して下さい。)
pXL->Workbooks->Open("C:\\temp\\TEST_PW.xls",
vtMissing,
vtMissing,
vtMissing,
"abc");
}
[サンプル・ソース]