tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルエクセルの書き込み
記事No13081
投稿日: 2008/10/01(Wed) 17:18
投稿者ちょいでぶ
エクセルのインストールされていないPCで、以下のようなアプリを
起動すると、
「ActiveXコンポーネントはオブジェクトを作成できません。」
といった実行エラーが生じます。

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("test.xls")
xlBook.Worksheets("Sheet1").Cells(1, 1).Value = "abc"

エクセルのインストールされているPC及びインストールされていないPCの
両方でエクセルファイルの読み書きを行う方法を
教えていただけませんでしょうか。

[ツリー表示へ]
タイトルRe: エクセルの書き込み
記事No13082
投稿日: 2008/10/01(Wed) 18:26
投稿者魔界の仮面弁士
> エクセルのインストールされているPC及びインストールされていないPCの
> 両方でエクセルファイルの読み書きを行う方法を
> 教えていただけませんでしょうか。

インストールされていない場合、Excel.Application は生成できませんね。
対策として思いつくのは、以下の 4 つぐらい…。


(案0) 諦めて、実行環境にExcel 本体を購入・インストールしてもらう…。

(案1) Excel 生成/読込機能を持ったツール等を併用する。
 http://www.adv.co.jp/products/product_ExcelCreator2007.htm

(案2) *.xls 等の読み書きは諦め、(*.xml や *.csv などの)テキスト形式を使う。

(案3) DAO や Microsoft.JET.OLEDB.4.0 などを使って操作する。

(案4) Excel のフォーマットは公開されているので、xls のバイナリファイルを
 読み書きするコードを自力で実装する。
 http://www.microsoft.com/interop/docs/officebinaryformats.mspx

[ツリー表示へ]
タイトルRe^2: エクセルの書き込み
記事No13083
投稿日: 2008/10/03(Fri) 08:31
投稿者ちょいでぶ
魔界の仮面弁士様 ご回答有難うございます。

> (案3) DAO や Microsoft.JET.OLEDB.4.0 などを使って操作する。
MDBでは、ADOまたはDAOを使用していますが、XLSでも可能とは知りませんでした。
案3 について調べてみましたら、この方法で解決が見込まれますので、
頂きましたご回答で解決とさせていただきます。

助かりました。有難うございす。

[ツリー表示へ]