プロが教える店舗&オフィスのセキュリティ対策術

エクセルVBA、間違っているコード内容を正して頂けませんか?
エクセルワークシートに納品書を作ったのですが、セルH3に入力日をタイプ入力するようにしております。全ての項目に入力完了後にその画面をプリントアウトすると同時にデスクトップにPDFファイルとして保存させるようマクロを作りました。PDFファイルは、セルH3の入力日を名前になる様にコードを書いております。同日日が2件以上の場合は、ファイル名に枝番がつく様にもしております。
しかしながら、以下のコードの記述では、プリントアウトは、してくれるものの、肝心のPDFファイル保存される前にエラーが出て止まってしまいます。
どこの記述が間違っているのでしょうか?
よろしくご教授お願いいたします。

以下のコード内容

Sub PDF()
'
' pdf Macro
    ActiveSheet.PrintOut
    Const Folder As String = "C
 ¥Users¥Home¥Desktop"
    Dim fname As String
    Dim fpath As String
    Dim i As Long
    Const ext = ".pdf"
    i = 0
    fname = Range("H3").Text
    fpath = Folder & "¥" & fname & ext
    i = 0
    While Dir(fpath) <> ""
        i = i + 1
        fpath = Folder & "¥" & fname & Format(i, "(#)") & ext
    Wend
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fpath, Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

質問者からの補足コメント

  • 画像写真

    「エクセルVBA、間違っているコード内容を」の補足画像1
      補足日時:2023/08/02 22:02
  • デバッグするとこの画面

    「エクセルVBA、間違っているコード内容を」の補足画像2
      補足日時:2023/08/02 23:48

A 回答 (2件)

全角スペースのほかに、「C」の後のコロンも無いわけですが…



エラーとはそもそもどういう内容なのですか?

ちなみに、
Const Folder As String = "C:\Users\Home\Desktop"
を私のデスクトップのパスに置き換えて実行したらPDF吐いてますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
エラーは、実行エラー'-2147024773(8007007b)':
ファイルを保存できませんでした。
とでます。

お礼日時:2023/08/02 22:01

ChatGPTに聞いてみました。


「間違いを直して」
の回答


以下の行に間違いがあります:

Const Folder As String = "C
 ¥Users¥Home¥Desktop"

間違いは、Const Folder As String = "Cと¥Users¥Home¥Desktop"の間に全角スペース(U+3000)が入っていることです。

正しいコードは次のようになります:

Const Folder As String = "C:\Users\Home\Desktop"

----------
ということでしたがいかがでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。教えてgooの記入枠上、スペースが入っている様にみえますが、実際は、
繋がっております。

お礼日時:2023/08/02 21:27

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

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