タイトル : Re^8: 既存のExcelファイルにシートを追加 投稿日 : 2008/05/08(Thu) 12:56 投稿者 : 魔界の仮面弁士
> 参照設定している場合は、New をつけるとありますが、 > [プロジェクト]→[参照設定]で、Excelを指定している > ということでよろしいでしょうか。 はい、そういう意味で書きました。 ただし、参照設定している場合は、Excel のバージョンは固定的となります。 (例えば、Excel 2003 環境で開発したexeを、Excel 97 環境で動かす事は難しいという事) 異なるバージョンにも対応させたいのであれば、参照設定は行わないようにし、 生成処理も、CreateObject で行うようにしてください。 > Dim xlApp as New Excel.Application 宣言時に New を付ける書き方は推奨できません。使えない事も無いのですが、 オブジェクトの作成と解放のタイミングを制御するのが困難になります。 > Set xlApp = Excel.Application その書き方は、絶対に行ってはいけません。 これは、(グローバル オブジェクトとしての)Application プロパティの参照を意味します。 開発環境で、[F2]キーを押し、オブジェクトブラウザを表示してください。 ライブラリとして[Excel]を選択し、クラスから[<グローバル>]を選択したときに、 メンバとして表示される物は、VB6 からは利用しないようにしてください。 それらは Excel VBA からの利用を前提としたものであり、外部から利用した場合には、 オブジェクトの解放漏れや、2 回目の処理に失敗するなどの弊害を引き起こします。 > Set xlApp = New Excel.Application この書き方であれば問題ありません。 |