ワークブックを閉じる




【オブジェクト】

  _Workbooks

【メソッド】

    object->Close ( const _variant_t & SaveChanges,
                    const _variant_t & Filename,
                    const _variant_t & RouteWorkbook );

【引数】

    SaveChanges:(省略可能)
        ワークブックに変更がある場合、ブックの変更を保存するかどうかの指定

        0以外  : 変更を保存する。
                (引数Filenameを省略すると、ファイル名を設定をするダイアログボックスが表示されます。)

        0      : 変更を保存しない。

        省略時 : 変更したファイルを保存するかどうかを確認するダイアログボックスを表示する。

    Filename:(省略可能)
        変更したファイルを保存するファイル名を指定します。

    RouteWorkbook:(省略可能)
        ワークブックを回覧するかどうかを指定

        0以外  : 次の宛先に回覧する

        0       : 回覧しない

        省略時 : ダイアログボックスを表示して、回覧するかどうかを確認

【内容】

    指定したワークブックを閉じます。
    (注意:このメソッドを実行しても、Auto_Closeマクロは実行されません。)

【サンプル】

//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;
_WorkbookPtr pBook;


//Excelを起動
void CImp_wbk_Close1Dlg::OnButton1() 
{
     //Excelの起動
    pXL.CreateInstance(L"Excel.Application");

    //Excelを表示
    pXL->Visible = TRUE;

    //Excelワークブックを新規作成
    pBook = pXL->Workbooks->Add();    
}

//指定したワークブックを保存しないで閉じる
void CImp_wbk_Close1Dlg::OnButton2() 
{
    //指定したワークブックを保存しないで閉じる
    pBook->Close(false);
    
}

//ブックの変更がある場合、ワークブックを保存して閉じる
void CImp_wbk_Close1Dlg::OnButton3() 
{
    //ブックの変更がある場合、ワークブックを保存して閉じる
    //(ブックに名前が付いている場合は、保存ファイル名の指定は必要ありません。)
    pBook->Close(true, "C:\\test.xls");    
}

void CImp_wbk_Close1Dlg::OnButton4() 
{
    pXL->Quit();
    pXL = NULL;
}


[サンプル・ソース]