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

投稿時間:2006/01/31(Tue) 17:35
投稿者名:ねずみ
URL :
タイトル:
他のパソコンにインストールすると読み込まない
はじめまして、たびたび利用させていただいており、いつも助かっております。
どうしてもわからないのでここで質問させてください。
こちらのmsflexgridからexcelを読み込むを参考にさせて頂き。

    Dim DB       As DAO.Database
    Dim RS       As DAO.Recordset
    Dim FileName As String
    FileName = "D:\TEST\program\ame10\amedas10.xls"
    Set DB = OpenDatabase(FileName, True, True, "Excel 8.0;HDR=YES;IMEX=1;")
    Set RS = DB.OpenRecordset("Sheet10$", dbOpenTable)
    Set Data1.Recordset = RS
    Data1.Refresh
    RS.Close
    DB.Close
    Set DB = Nothing
    Set RS = Nothing
     :
と記述してディストリビューションウイザードでパッケージを作成し、
他のパソコン(OSは作成のパソコンと同じWinXPです)にインストール
したのですが、MsflexGridには何も表示されないのです。
エクセルファイルやシートの名前を変えるとエラーがでますので読みには行っています。
また、作成したパソコンではちゃんと表示されます。VBは6.0です。
どなたかこの現象についてお分かりの方、教えていただけると助かります。
よろしくお願いします。

投稿時間:2006/01/31(Tue) 19:03
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 他のパソコンにインストールすると読み込まない
いくつか確認させて下さい。

エラーは何も発生していないという事ですね。
(エラー処理は何かされていますか?)

間違いなく、"D:\TEST\program\ame10\amedas10.xls" のファイルの Sheet10 には
データが書かれてあるのですね?

実行環境の system32 フォルダに MSFLXGRD.ocx がありますか? そのバージョンは?

投稿時間:2006/02/01(Wed) 08:11
投稿者名:ねずみ
Eメール:
URL :
タイトル:
Re^2: 他のパソコンにインストールすると読み込まない
お世話かけます。

エラーは何も発生しておりません。エラー処理もわざと何もせず、シートやファイルがないときに
メッセージが出るようにしてあります。で、ファイル名を変えたり("D:\TEST\program\ame10
\amedas10.xls"のamedas10.xlsの部分)シート名を変えると見つかりませんパスを確認等の
メッセージが出ます。また、シートにはデータがしっかり書かれています。

実行環境のsystem32フォルダにMSFLXGRD.ocxがあり、バージョンは6.0.81.69となっています。

何かわかりましたらよろしくお願いします。

投稿時間:2006/02/01(Wed) 08:46
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 他のパソコンにインストールすると読み込まない
違うファイルをルートディレクトリに置いて試しても同じでしょうか?
[DAOでExcelデータを読み込みテキストボックスに表示] や
[ADOを使ってCSVファイルをMSHFlexGridに表示する] 等の違うプログラムならどうでしょう。

開発環境では問題なく、実行環境では表示しないとの事なので、実行環境と
開発環境の違いを探るしかないようなので。
後は、DAO のバージョンを調べるとか、実行環境にVBをインストールしてみるとか。

投稿時間:2006/02/01(Wed) 08:58
投稿者名:ねずみ
Eメール:
URL :
タイトル:
Re^4: 他のパソコンにインストールすると読み込まない
そうですね。
実行環境にVBをインストールが一番手っ取り早いかなと思ってるんですが、できるだけ
何も入れたくないパソコンなので・・・それは最後の手段にとっておきます。
他のエクセル読み込みプログラムや、違うファイルをルートディレクトリに入れて
これから試してみます。

投稿時間:2006/02/01(Wed) 13:59
投稿者名:ねずみ
Eメール:
URL :
タイトル:
Re^5: 他のパソコンにインストールすると読み込まない
DAOのバージョンは3.6でした。
試しに他のVB6.0がインストールしてあるパソコンに、実行ファイルと
エクセルファイルをフロッピーに入れて、その中の実行ファイルを実行したら
ちゃんと読み込みました。
問題のパソコンで“Visual Basic 6.0 ランタイム Maximum Edition Service Pack 6”
をVectorからダウンロードしてインストールしましたが結果は同じです。
ファイルの場所を変えても見ましたがだめでした。
あと、DAOでExcelデータを読み込みテキストボックスに表示   (237)を
やらせていただいたのですが、これだとテキストボックスに読み込みます・・・。
まったく判らなくなりました。

投稿時間:2006/02/01(Wed) 18:44
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^6: 他のパソコンにインストールすると読み込まない
> あと、DAOでExcelデータを読み込みテキストボックスに表示   (237)を
だったら、MSFlexGrid が臭そうですね。
MSHFlexGrid の簡単なプログラムなら動作しますか?
Exe にして、EXE だけをインストールして試して見たらどうでしょう?

最初に投稿されたコード以外で何か処理されていますか?
でしたら、読み込み表示だけのコードで試してみるとか?

>Visual Basic 6.0 ランタイム Maximum Edition Service Pack 6
上記には、MSFlexGrid コントロールは入っていますか?
VB5.0 のランタイムも(又はソフト)入っているのでしょうか?

投稿時間:2006/02/02(Thu) 16:45
投稿者名:もげ
URL :
タイトル:
Re^6: 他のパソコンにインストールすると読み込まない

Jet4.0SP8は試しましたか?
hhttp://support.microsoft.com/default.aspx?kbid=239114
確証はありませんが、Dataコントロールがネックになっている気もします。
作成したインストーラのSetup.lstはどうなっていますか(何を配布してますか)?

投稿時間:2006/02/03(Fri) 12:06
投稿者名:ねずみ
Eメール:
URL :
タイトル:
Re^7: 他のパソコンにインストールすると読み込まない
いろいろとありがとうございます。
Setup.lstの内容は以下のとおりです。
VB6STKIT.DLL
COMCAT.DLL
VB6JP.DLL
stdole2.tlb
asycfilt.dll
olepro32.dll
oleaut32.dll
msvbvm60.dll
MDAC_TYP.EXE
msado20.tlb
MSDERUN.DLL
FLXGDJP.DLL
MSFLXGRD.OCX
EXCEL.EXE
msjro.dll
msjtes40.dll
dao360.dll
Jet4.0はセキュリティ対応でバージョンは4.0.8618.0とあり、SP8に対応するようです。
ExeにしてExeだけをインストールしても同じでした。
コードを最小限にして、
Option Explicit
Private Sub Command2_Click()
    
    Dim DB       As DAO.Database
    Dim RS       As DAO.Recordset
    Set DB = OpenDatabase("D:\test\test.xls", False, False, "Excel 8.0;HDR=YES;IMEX=1;")
    Set RS = DB.OpenRecordset("Sheet10$", dbOpenTable)
    Set Data1.Recordset = RS
    Data1.Refresh
    RS.Close
    DB.Close
    Set DB = Nothing
    Set RS = Nothing

End Sub
Private Sub Command3_Click()
End
End Sub
としてみましたが、相変わらず使いたいパソコンにいくと表示できません。
これからもいろいろ試してみます。

投稿時間:2006/02/03(Fri) 13:08
投稿者名:これ
URL :
タイトル:
Re^8: 他のパソコンにインストール
横ヤリ失礼します。

> Setup.lstの内容は以下のとおりです。
  :
> EXCEL.EXE

これはExcel?! セットアップ先のPCにはOfficeかExcelが入ってないのでしょうか?
というより何のために?
ライセンス等 問題になりませんか?

投稿時間:2006/02/03(Fri) 13:26
投稿者名:ねずみ
Eメール:
URL :
タイトル:
他のパソコンにインストール
セットアップ先にはoffice入っているんですよ。で、当初削除(EXCEL.EXEの項目)していたんですが
もしかして・・・。ということで一応リストに載せたままにしてみたんですが、結果は同じでした。

投稿時間:2006/02/03(Fri) 13:44
投稿者名:ねずみ
Eメール:
URL :
タイトル:
他のパソコンに...
結論から言いますと、表示されるようになりました。
VB5.0ランタイムを入れたのですが、どうも足りなかったようです。
Vectorから
「VB5.0で作成された、データベースを扱うアプリケーションに必要なDAO-ActiveXコントロール」
と説明のあるランタイムを入れたところ表示されるようになりました。
どうもお手数おかけしました。
ありがとうございます。

投稿時間:2006/02/03(Fri) 15:19
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
他のパソコンにインストール
> VB5.0ランタイムを入れたのですが、どうも足りなかったようです。
VB6.0 で作成されたのではなかったのですか?

投稿時間:2006/02/03(Fri) 16:52
投稿者名:ねずみ
Eメール:
URL :
タイトル:
Re: 他のパソコンにインストール
おっしゃるとおりなんですよ。
VB6.0 で作成したのです。こんなことってあるんでしょうか?
たまたま検索していたらDAO用ランタイムVB5.0があったので入れてみたのですが。
もちろんその前にVB6.0用の同じものはないかと思って探したのですがなくて、仕方なく・・・。
ちゃんとディストリビューションウイザードでインストールしたのですが・・・。

投稿時間:2006/02/03(Fri) 17:39
投稿者名:もげ
Eメール:
URL :
タイトル:
Re^2: 他のパソコンに
> おっしゃるとおりなんですよ。
> VB6.0 で作成したのです。こんなことってあるんでしょうか?

DataコントロールはVB5にも存在しますので、何か足りないファイルが
そちらから補われたという可能性があります。

当方でDataコントロールを含んだプロジェクトに対して
ディストリビューションウィザードを実行してみました。
(WinXPSP1+VB6.0SP6)
結果はこんな感じです。
File1=@VB5DB.DLL    
File2=@msjtes40.dll
File3=@msrepl40.dll
File4=@msrd3x40.dll
File5=@msrd2x40.dll
File6=@mswdat10.dll
File7=@mswstr10.dll
File8=@expsrv.dll  
File9=@vbajet32.dll
File10=@msjint40.dll
File11=@msjter40.dll
File12=@msjet40.dll
File13=@dao360.dll  

Dataコントロールを動作させるには、VB5DB.DLL等が必要なようです。
おそらく ですが、それらが足りなかったのでは?
ねずみ殿の環境で、正しくセットアップファイルを作成できなかった理由は不明ですが。

投稿時間:2006/02/03(Fri) 18:28
投稿者名:ねずみ
Eメール:
URL :
タイトル:
他のパソコンに
ありがとうございます。
なぜ、当方の環境で作成した場合今回のようなことになったか不明ですが、
こんな可能性もあり・・・と言うことで、勉強になりました。

投稿時間:2006/02/03(Fri) 18:33
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Setup.lst の内容
> Setup.lstの内容は以下のとおりです。

上記が No.234 のSetup.lst の内容ならかなり抜けてますね。

私のSetup.lst では24個あります。 (8個抜けている)

[Bootstrap Files]
File1=@VB6STKIT.DLL
File2=@COMCAT.DLL
File3=@VB6JP.DLL
File4=@STDOLE2.TLB
File5=@ASYCFILT.DLL
File6=@OLEPRO32.DLL
File7=@OLEAUT32.DLL
File8=@msvbvm60.dll

[Setup1 Files]
File1=@FLXGDJP.DLL
File2=@MSFLXGRD.OCX
File3=@VB5DB.DLL
File4=@msjtes40.dll
File5=@msrepl40.dll
File6=@msrd3x40.dll
File7=@msrd2x40.dll
File8=@mswdat10.dll
File9=@mswstr10.dll
File10=@expsrv.dll
File11=@vbajet32.dll
File12=@msjint40.dll
File13=@msjter40.dll
File14=@msjet40.dll
File15=@dao360.dll
File16=@Project1.exe