すみません、また教えて下さい。
VB4でプログラミングをしています。
VB4の入っているPCでは、期待通りに動くのですが、
セットアップウイザードで標準で配布されるファイルを付けて、
(次へ次へとクリックして)配布用ディスクを作り、
別のVB4の入っていないPCにセットアップして、
実行しようとすると、
「実行時エラー’76’パスが見つかりません」と出て動きません、
これは、何のパスが見つからないのでしょうか?

PCは共にWin98seです。
単純な画面とやり取りして、ファイルを作るプログラムです。

A 回答 (4件)

#2の補足ですが、参考になるかどうか自信はありません f(^_^)


APIからのフォルダ参照によるフルパス取得です。
下記コードを御参考下さい。VB精通者から見ると ”なんじゃこりゃ” ってなお粗末なコードですがご勘弁下さい m(_ _)m
また、毎回指定を回避するには指定内容をレジストリに記録するか設定ファイル(iniファイル)に記録して参照する方法があります、いずれもやはりAPI使用により可能です。
お勧めは後者(設定ファイル作成方法)です・・・理由>>不必要になった場合レジストリにゴミを残さない為です。(レジストリ内容も削除はできますが)
レスが長くなりましたが参考になれば幸いです。


'API宣言
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Private Const MaxP = 260
Private Type yochi
Own As Long
Roo As Long
Nam As String
Tit As String
End Type
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal PointerToIdList As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBROWSEINFO As yochi) As Long
Private Declare Function CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long) As Long
Dim Z As Integer
'------------------------------------------------------------------------------------------------
Sub Folder()
'フォルダの選択
Dim Path As String
Dim Hw As Long
Dim Ro As Long
Dim Dr As String
Z = 0
Dr = "フォルダを指定して下さい."
Ro = GetFo(Hw, Dr, Path)
If Ro = 0 Then
If Z = 1 Then
MsgBox "このフォルダは指定出来ません。"

Exit Sub
End If
MsgBox Path

ElseIf Ro = 1 Then
End 'Exit Sub
End If
End Sub
'------------------------------------------------------------------------------------------
Private Function GetFo(ByVal Hw As Long, ByVal Msg As String, ByRef Path As String) As Long
Dim bi As yochi
Dim pidl As Long
Dim iRo As Long

On Error GoTo ErrorHandler
bi.Tit = Msg
pidl = SHBrowseForFolder(bi)
If pidl = 0 Then
Exit Function
End If
Path = String$(MaxP + 1, Chr$(0))
If SHGetPathFromIDList(ByVal pidl, ByVal Path) = 0 Then
iRo = CoTaskMemFree(pidl)
Z = 1
Exit Function
End If
Path = Left(Path, InStr(Path, Chr$(0)) - 1)
iRo = CoTaskMemFree(pidl)
If iRo <> 0 Then
End If
Exit Function
ErrorHandler:
If pidl <> 0 Then CoTaskMemFree pidl
End Function
    • good
    • 0
この回答へのお礼

長い長いコードをありがとうございます。
訳のわからない質問に、こんなに時間を掛けて・・・
敬意を表します。
一行一行勉強します。
自分が情けない(・_・、)

お礼日時:2001/05/30 18:35

こんにちは。


プログラマで6年程勤務した者です。
ご参考程度でありますが、情報を提供します。

質問内容として、以下でよろしいのでしょうか?
・インストールFDを作成し、VB4が入っていない
PCにインストールを行う。

だとすると、DAO等のVBで使用するファイルを
新規のPCにレジストリ登録しなければ、
このようなエラーが出たような気がします。

あと、参考になるかわかりませんが、URLを添付します。

参考URL:http://www1.harenet.ne.jp/~unaap/
    • good
    • 0
この回答へのお礼

ありがとうございました。
DAO? ううぅぅ~~恥かしい限りです。
勉強し直します。

お礼日時:2001/05/30 18:30

おそらく先答者の言われる通り 実行ファイルまでのパスが合っていないのではないでしょうか?


このプログラムがどう言った趣旨のものかわかりませんが、任意でパスを通すのであればダイアログから取得するAPIを使ってみてはいかがですかこれだとまず間違いなく当エラーは回避出来るはずですが・・・。

この回答への補足

ありがとうございます。
>ダイアログから取得するAPIを使ってみてはいかがですか
すみません、意味がわかりません。(・_・、)
もう少し具体的に、教えて下さい。

補足日時:2001/05/28 08:43
    • good
    • 0
この回答へのお礼

ありがとうございました。
勉強不足で申し訳ございませんでした。
それと、上の詳細なコード記述を感謝します。

お礼日時:2001/05/30 18:28

プログラムの中で、


作ったパソコンにあって、実行するパソコンにはない
ドライブやフォルダを指定していませんか?

それをチェックして、直してみてはどうですか。
    • good
    • 0
この回答へのお礼

ありがとうございました。
拡大鏡を使うみたいに、チェックしたのですが・・・
もう一度、チェックして見ます。

お礼日時:2001/05/30 18:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ