カンパ〜イ!←最初の1杯目、なに頼む?

Excel(office365)を使っている者です。
Excel VBAで,PDFでファイルを出力して,そのファイルを当該マクロの入ったファイルと同じ場所に保存したく,以下のようなコードを書いたのですが,一つ上の階層のフォルダに保存(作成)されてしまいます。

どうすれば,同じ階層のフォルダに保存できるようになるのか,ご教示願います。

よろしくお願いいたします。


-----------------------------------------------------(関連する部分のみ抜粋)
Dim myfolder As String

myfolder = ThisWorkbook.Path

l = Worksheets("評価").Range("N5").Value & "・" & Worksheets("評価").Range("N4").Value

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=myfolder & l & ".pdf", OpenAfterPublish:=True, IgnorePrintAreas:=False
------------------------------------------------------

A 回答 (3件)

No1です


>その同じフォルダにある「test」というフォルダに保存させるにはどうしたら良いですか?
パラメータ、fileNameはフルパスで設定しなくてはいけません。
つまり、
fileName:=myfolder & "test¥” & l & ".pdf"
とすればよいのですよ。
ただし、そこに「test」というフォルダーが存在していなくてはいけません。
既にお分かりとは思いますが、前回の回答では
fileName:=myfolder & "\" & l & ".pdf"
としても効果は同じです。
後は「どちらがわかりやすいか」や「後から修正しやすいか」などで判断することになります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
希望通りのマクロができました。

お礼日時:2023/09/28 16:04

こんにちは



>その同じフォルダにある「test」というフォルダに
>保存させるにはどうしたら良いですか?
パスの構成をよく観察してみればわかるはずです。
また、パス自体は「文字列」ですので、文字列の操作で作成することが可能です。

 myfolder = ThisWorkbook.Path & ”\test\”
    • good
    • 0
この回答へのお礼

ご教示いただきありがとうございます。

お礼日時:2023/09/28 16:02

ファイル名も目的のものと異なりませんか?


多分、階層を示す”¥”が不足しています。
>myfolder = ThisWorkbook.Path

myfolder = ThisWorkbook.Path+”¥”
とすればできませんか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
同じフォルダに保存することができました。¥がないとダメなんですね。

もう一つ教えていただけるとありがたいのですが,その同じフォルダにある「test」というフォルダに保存させるにはどうしたら良いですか?

お礼日時:2023/09/28 14:08

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

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


おすすめ情報

このQ&Aを見た人がよく見るQ&A