掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataGridView をエクセルに出力 (ID:147616)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 開発環境がExcel2000で、実行環境が2000.2003.2007が存在する > 状態です。 Workbooks.Open や Range.Insert メソッドだけでも、バージョンによって これだけメソッド定義に差異があります。 http://dobon.net/vb/bbs/log3-46/27545.html http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200603/06030081.txt この非互換性のため、実行時に呼び出しが失敗してエラーとなる可能性が ありますので、それぞれの環境での動作検証は十分に行ってください、 > まず、参考ページのImports Microsoft.Office Interrop > ですが、エラーになります。 スペルミスには目を瞑るとして: 名前空間を含めた長い名前が、 Microsoft.Office.Interop.Excel.Application などの形式になるのは、PIA (プライマリ相互運用機能アセンブリ)を 参照している場合です。 2000 の場合は、電子署名された公式の「PIA」は提供されていないため、 参照設定時に Visual Studio によって自動生成される 「IA(相互運用機能アセンブリ)」の DLL を使う事になります。 手元に環境が無いので確認できませんが、この自動生成される DLL は、 確か Interop.Excel.DLL といったファイル名になっているはずです。 また、名前空間は Microsoft.Office.Interop.Excel ではなく、 Excel.Application になったかと記憶しています。 ※タイプライブラリインポータ(Tlbimp.exe)等を使えば、 別の名前空間にすることもできますけれども。 なので Excel 2000 の場合は、Imports 宣言は特に行わずに Dim xlApp As Excel.Application などと記述できるかと思います。 後はとにかく、「各オブジェクトを、使用後に ReleaseComObject する」 ことを徹底し、終了後に Excel.exe がタスクに残っていないかを 確認するようにしてみてください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.