アプリ版:「スタンプのみでお礼する」機能のリリースについて

vbaのdir関数で、相対パス参照するにはどうしたら良いですか
ファイルは存在して、絶対パスはイミディエイトに無事結果が表示されるのですが
相対パスはうまくいきません
相対パスの場合は、何か設定が必要ですか?

【絶対パス】

Sub test_dir()

Dim s As String

s = Dir("C:\Users\●●\Desktop\●●\test.txt")
Debug.Print (s)

End Sub
【相対パス】
Sub test_dir()

Dim s As String

s = Dir("test.txt")
Debug.Print (s)

End Sub

A 回答 (1件)

> 相対パスはうまくいきません



どこからの相対パスなのか?
カレントディレクトリが、質問者さんが想定している場所と違ってるとか。

「右隣の家」って言っても、質問者さんが言う場合、私が言う場合、質問者さんと反対向いてる母ちゃんの言う場合で、指す家が違っちゃいます。


Debug.Print CurDir
でカレントディレクトリを確認し、

ChDir "C:\Users\●●\Desktop\●●\"
でカレントディレクトリをデスクトップの●●にしてから実行とか。
    • good
    • 0
この回答へのお礼

有難う御座います、カレントディレクトリーはマクロ実行のexcelファイルとは違うの知りませんでした。

解決しました。

お礼日時:2021/05/23 17:22

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

このQ&Aを見た人はこんなQ&Aも見ています