[保存前に再計算]の状態取得と設定変更
【オブジェクト】
_Application
【プロパティ】
[状態を取得]
short object->CalculateBeforeSave
[設定の変更]
object->CalculateBeforeSave = short
【値】
0 オン
0以外 オフ
【内容】
[ツール]-[オプション]-[計算方法]タブ-[保存前に再計算]の値取得と設定
【サンプル】
//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;
//Excelを起動
void CImp_app_CalculateBeforeSaveDlg::OnButton1()
{
//Excelの起動
pXL.CreateInstance(L"Excel.Application");
//Excelを表示
pXL->Visible = TRUE;
//WorkBookを新規で開く
pXL->Workbooks->Add();
}
//状態を取得
void CImp_app_CalculateBeforeSaveDlg::OnButton2()
{
//[保存前に再計算]チェックボックスの状態を取得
short Ret = pXL->CalculateBeforeSave;
if(Ret != 0){
AfxMessageBox("[保存前に再計算]チェックボックスの状態は、オンです。");
}
else{
AfxMessageBox("[保存前に再計算]チェックボックスの状態は、オフです。");
}
}
//設定を変更
void CImp_app_CalculateBeforeSaveDlg::OnButton3()
{
//[保存前に再計算]チェックボックスの状態を取得
short Ret = pXL->CalculateBeforeSave;
if(Ret != 0){
pXL->CalculateBeforeSave = 0;
AfxMessageBox("[保存前に再計算]をオンからオフに変更しました。");
}
else{
pXL->CalculateBeforeSave = 1;
AfxMessageBox("[保存前に再計算]をオフからオンに変更しました。");
}
}
//Excelを終了
void CImp_app_CalculateBeforeSaveDlg::OnButton4()
{
pXL->Quit();
}
[サンプル・ソース]