tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^6: Excelのプロセス
投稿日: 2007/03/06(Tue) 03:31
投稿者魔界の仮面弁士
> こんな感じでよろしいのでしょうか?
まぁ、良いんじゃ無いでしょうか。


あえて修正するとすれば:

>         objExcel = CreateObject("Excel.Application")
参照設定しているのに、ここでレイトバインドにする意味はあまり無いかと。
objExcel = New Excel.ApplicationClass() で良いんじゃないですかね。

# 可能であれば、Option Strict On モードでチェックしてみましょう。


>         objBooks = objExcel.Workbooks()
>         objRangeA = objWSheet.Cells
Workbooks と Cells。どちらもプロパティですが、一方は括弧を付けて、
他方は括弧を付けないという表記の揺れが見られますね。コードを統一しましょう。

ちなみに VB では、「引数の無いプロパティやメソッド」の呼び出し時には、
括弧を付けても付けなくても良い事になってはいるのですが、一般的には他言語に倣って、
メソッド呼び出しに括弧を付け、プロパティ呼び出しには括弧を付けない事が多いようです。

> objExcel.Quit()
> System.Runtime.InteropServices.Marshal.ReleaseComObject(objRangeA)
個人的には、最後に一括して解放するのではなく、
 objRangeB = objRangeA(1, 1)
 objRangeB.Value = "TestTestTest"
 Marshal.ReleaseComObject(objRangeB)
などのように、不要になった時点で破棄していく形を取った方が良いのではないかな、と。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。