[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/07/29(Fri) 18:05
投稿者名:KIRIRI
Eメール:
URL :
タイトル:
EXCELが開けません。
VB6 SP6
OS:WINDOWS2000
OFFICE2000
にて開発しています。

こちらのHPを参考にして
Public xlApp        As Excel.Application
Public xlBook       As Excel.Workbook
Public xlSheet      As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(m_strFileName)
Set xlSheet = xlBook.Worksheets(1)
というコードを組みました。

もちろん開発環境では動作しますが
開発環境以外のPCでは動作しないものがあります。
エラー表示の内容は
「DLL読込時エラーです。」や
「不正な処理を行ったので強制終了します。」
という内容です。

で、開発環境以外のPCにもVBをインストールし、ソースから実行してみると
Set xlApp = CreateObject("Excel.Application")
ここで処理が止まっています。
オブジェクトライブラリは「EXCEL9.OLB」です。

原因と対策を教えていただけないでしょうか?

状況をわかる範囲全て書いたつもりですが、足らなければ教えてください。
宜しくお願いします。

投稿時間:2005/07/29(Fri) 18:16
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: EXCELが開けません。
> Set xlApp = CreateObject("Excel.Application")
> ここで処理が止まっています。
> オブジェクトライブラリは「EXCEL9.OLB」です。

Excel 2000 がインストールされていますか。

実行環境の状況は?

投稿時間:2005/07/30(Sat) 07:49
投稿者名:KIRIRI
Eメール:
URL :
タイトル:
Re^2: EXCELが開けません。
レスありがとうございます。

> Excel 2000 がインストールされていますか。
されています。

> 実行環境の状況は?
PC1 OS:WindowsXP Pro SP2 Office2000
PC2 OS:Windows98SE       Office2000
PC3 OS:WindowsXP Home     Office2003
では実行できませんでした。
PC1,PC2は客先のPCの為、VBがなく
> Set xlApp = CreateObject("Excel.Application")
> ここで処理が止まっています。
は確認できませんが、Excelを開く処理を行うときにソフトが止まっているので
この箇所で止まっていると思います。

PC3は会社のPCで
>で、開発環境以外のPCにもVBをインストールし、ソースから実行してみると
>Set xlApp = CreateObject("Excel.Application")
>ここで処理が止まっています。
を確認しました。

投稿時間:2005/07/30(Sat) 09:53
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: EXCELが開けません。
> > Excel 2000 がインストールされていますか。
> PC3 OS:WindowsXP Home     Office2003

> されています。
Excel 2003 では。

プロジェクト→参照設定で Microsoft Excel *.* ObjectLibrary にチェックを入れた
バージョンが実行環境に存在していないとエラーとなります。

又、VB を起動するにはランタイムが必要です。プログラムによっては特別なOCX等を使用
していればそれらも必要です。
実行環境へのプログラムのインストールはどのようにしましたか?

ボタンを押したらメッセージボックスが表示するだけの簡単なプログラムなら実行
環境でも起動するかどうか等を調べて下さい。
いずれにしても、開発環境と実行環境の違いによるものですから、その辺を調べるように
して下さい。

投稿時間:2005/07/30(Sat) 10:11
投稿者名:YK
Eメール:
URL :
タイトル:
Re^3: EXCELが開けません。
こんにちは。

> Set xlApp = CreateObject("Excel.Application")
> > ここで処理が止まっています。

CreateObjectを使用しているのですから

Public xlApp As Object
Public xlBook As Object
Public xlSheet As Object

で確認しみてはどうでしょう。

多分外れかも

投稿時間:2005/08/02(Tue) 09:09
投稿者名:KIRIRI
Eメール:
URL :
タイトル:
解決
花ちゃんさん、YKさんありがとうございます。

Public xlApp        As Excel.Application
Public xlBook       As Excel.Workbook
Public xlSheet      As Excel.Worksheet

Public xlApp As Object
Public xlBook As Object
Public xlSheet As Object
に変更したらできました。

ありがとうございました。