以下のようなプログラムでほかの人と相互性がとりたいのでアドレスの指定をドライブからではなくフォルダからにしたいのですが何度やってもパスが見つからないといわれます。解決法を知っている方がいましたら教えてください。
Private Sub Command1_Click()
Dim jida(20) As String
Dim sei(50) As String
Dim i, n, s As Integer
Dim tuki(20) As String
Dim hiz(20) As String
Dim toti(20) As String
Dim koto(20) As String
Dim hito(20) As String
Open "Z:\hyou\年表\heisei.csv" For Input As #1
i = 0
Do While Not EOF(1)
Input #1, jida(i), sei(i), tuki(i), hiz(i), toti(i),
koto(i), hito(i)
i = i + 1
Loop
Close #1
End Sub
>フォルダからにしたいのですが
どこのフォルダですか?
app.path を使うとか、\\PC名\・・ とかでしょうか?
それとも「Z:」がネットワークドライブで設定されているのに、叱られるとか?
要は絶対アドレス方式ではなく相対アドレス方式にしたいわけです。
Z:\ドライブでやるのでは他のPCと相互性が取れないので、
何とかしたいと思ってます。
>相対アドレス方式
何に対して相対なのかを明確にしてください。
app.path でないの?
実行する.exeファイルの存在するフォルダに対するものです。
>app.path を使うとか、\\PC名\・・ とかでしょうか?
最初の回答で答えは出てますが?回答に対し都合が悪い部分が
あるなら明確に指摘してください。
とりあえず解決しました。
どうやらこのPCの仕様でうまくいかなかったようでした。
これはWeb公開して不特定多数の人に配るつもりですので、
\\PC名\〜のようにその場しのぎの技を使うつもりはありません。
相対アドレス方式だということを伝え忘れたこちらのミスです。
どうも失礼しました。
> 絶対アドレス方式ではなく相対アドレス方式
正しくは、絶対パス (フルパス)、相対パス かな。
App.Path & "..\..\Data\hyou\年表\heisei.csv"
とか。
# どこまでわかっていて、どこからわからないのかを書いて頂かないと (^-^;)
入れ違い投稿しちゃいました orz
申し訳ありません > ALL
日本語のフォルダ名を使わない場合もうまくいかないのでしょうか?
今回は「表」の2バイト目が &H5C ということで、特殊な条件下でWindowsが日本語ファイル英を正常に処理しない現象苦い等している可能性もあります。
また、ファイルサーバにアクセスしている場合は相手のファイルサーバが日本語のファイル名やフォルダ名に対応しているかも要確認ですね。
回答を書いている内に解決してしまった模様。。。
すいません
ツイート | ![]() |