切り取り・コピーモードの状態取得と解除
【オブジェクト】
_Application
【プロパティ】
[状態を取得]
enum XlCutCopyMode object->CutCopyMode
[解除]
object->CutCopyMode = enum XlCutCopyMode
値を変更すると切り取り・コピーモードが解除されます。
【値】
XlCutCopyModeで定義された定数を使用することができます。
enum XlCutCopyMode
{
xlCopy = 1, //コピーモード
xlCut = 2 //切り取りモード
};
【サンプル】
//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_CutCopyModeDlg::OnButton1()
{
//Excelの起動
pXL.CreateInstance(L"Excel.Application");
//Excelを表示
pXL->Visible = TRUE;
//WorkBookを新規で開く
pXL->Workbooks->Add();
}
//切り取り・コピーモードの取得
void CImp_app_CutCopyModeDlg::OnButton2()
{
long lngMode;
//切り取り・コピーモードの取得
lngMode = pXL->CutCopyMode;
//モードの判定
switch(lngMode){
case xlCopy:
AfxMessageBox("コピーモード");
break;
case xlCut:
AfxMessageBox("切り取りモード");
break;
default:
AfxMessageBox("切り取り・コピーのどちらでもない");
}
}
//切り取り・コピーモードの解除
void CImp_app_CutCopyModeDlg::OnButton3()
{
//切り取り・コピーモードの解除
//(xlCopy, xlCutにより値を書き換えると解除されます。)
pXL->CutCopyMode = xlCopy;
}
//Excelの終了
void CImp_app_CutCopyModeDlg::OnButton4()
{
pXL->Quit();
pXL = NULL;
}
[サンプル・ソース]