[Excel]選択したセルの内容をクリア


XLS(T_T)  2005-04-13 10:13:26  No: 120880  IP: [192.*.*.*]

[VB6.0(SP6)/EXCEL2000(SP3)]
こんにちわ。
VBよりEXCELに保存された内容をクリアしたいのですが、
「RangeクラスのSelectメゾットが失敗しました。」という
エラーメッセージが出力されます。

以下ソースです。

    Set objXlsApp = CreateObject("Excel.Application")
    intXLSOpenFLG = gcRET_OK
    Set objXlsBook = objXlsApp.Workbooks.Open("C:\TEST\TEST.xls")
    Set objXlsSht = objXlsBook.Worksheets("Sheet1")
    objXlsSht.Range("A5:I18").Select   ← ここでエラー
    objXlsSht.Selection.ClearContents

    (以下省略)

教えて下さい。
宜しくお願い致します。

編集 削除
魔界の仮面弁士  2005-04-13 11:10:17  No: 120881  IP: [192.*.*.*]

>  objXlsSht.Selection.ClearContents
Selectionって、objXlsSht(Sheetオブジェクト)のプロパティではなく、
objXlsApp(Applicationオブジェクト)のプロパティのはずですよ。

それと、何故かSelectしてから、Selectionを操作しておられますが、
データのクリアだけなら、わざわざ選択状態を変更せずとも、
   objXlsSht.Range("A5:I18").ClearContents
の1行で十分ですよ。


Selectionを使った操作というのは、VB6でいえば、
    Form2.Text1.Text = "aa"
というコードを、
    Form2.SetFocus
    Screen.ActiveForm.Text1.SetFocus
    Screen.ActiveControl.Text = "aa"
のような処理にするような意味になりますので、無駄が多いです。

編集 削除