切り取り・コピーモードの状態取得と解除



【オブジェクト】

  _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;	
}

[サンプル・ソース]