はじめて書き込みさせてもらいます。
VB初級者です。
VB6.0で作成した実行ファイルを動作させると
(VBstudioをインストールした状況下では)
正常に動くのですが、
ディストリビューションウィザードで配布用実行ファイルをつくり作動させると、
エラーメッセージ
「実行時エラー'53': ファイルがみつかりません」
が出てしまい、その後うまく作動しなくなります。
エラーが出る箇所は、
エクセルシート上に書かれたデータを読み込むところです。
問題はディストリビューションウィザードで配布用パッケージを作成する時に、 私がなんらかのことをしていないからだと思うのですが...
何か基本的なことを私が理解していないからかもしれません。
どなたか助けていただけませんでしょうか?
色々原因はあると思いますが、
まずエラーが出るPCにエクセルはインストールされてますか?
次にそのインプットになるエクセルファイルを
パッケージに同梱されてますか?
あとはインプットになるエクセルファイルのパスは、
ソフトと同じディレクトリに置いてあると想像出来ますが、
ソフトから見に行くパスが単純に違うとか?
oku様
早速のレスありがとうございます。
>色々原因はあると思いますが、
>まずエラーが出るPCにエクセルはインストールされてますか?
はい。インストールされてます。
>次にそのインプットになるエクセルファイルを
>パッケージに同梱されてますか?
それはどのような手順を踏めば梱包されるのでしょうか?
ディストリビューションウィザードで
「含まれるファイル」というところで何かやるのですか?
>あとはインプットになるエクセルファイルのパスは、
>ソフトと同じディレクトリに置いてあると想像出来ますが、
>ソフトから見に行くパスが単純に違うとか?
プログラフは以下のようにしてます。
Dim pathname As String
Dim xl As Object
Set xl = CreateObject("Excel.application")
pathname = App.Path
xl.Workbooks.Open FileName:=pathname + "\データファイル名.xls"
データファイルは、実行ファイルや*.vbp 等と一緒の場所にあります。
どうおもわれますか?
oku様にご指摘していただいたように
ディストリビューションウィザードで
データファイルを同梱したら解決しました。
どうもありがとうございました。
解決されてるのでOKだと思いますが、
出来ればエクセルファイルのパスを設定するときは
このようにしたほうが良いと思います。
Dim pathname As String
Dim xl As Object
Set xl = CreateObject("Excel.application")
If Right$(App.Path, 1) <> "\" Then
pathname = App.Path & "\"
Else
pathname = App.Path
End If
xl.Workbooks.Open FileName:=pathname & "データファイル名.xls"
今回は、インストラーを使われてるので
今の方法で構わないのですが、インストラーを使わない場合、
ソフトをどこに置かれるのかわからないので
たとえばCドライブの直下に置かれた場合、
xl.Workbooks.Open FileName:="C:\" & "\データファイル名.xls"
\が連なっちゃうので。
ツイート | ![]() |