• ベストアンサー

VBA PDFを同じフォルダに保存する

EXCELの差し込み印刷でPDFファイルを出力する方法 https://excel.kuuneruch.com/sasikomi-pdf-select/ 保存場所を同じフォルダに保存したいのですが、どうしたらよいでしょうか? '⑥ひな形シートでPDFを作成する(作成PDFファイル名を指定する) Call CreatePdfFile("D:\100_PDF\" & .Range("A" & nowRow) & ".pdf")

  • nkmyr
  • お礼率67% (403/600)

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.1

マクロを実行しているブックと同じフォルダという事でしたら ThisWorkbook.Path & "\" & .Range("A" & nowRow) & ".pdf" にして試してみてください。

nkmyr
質問者

補足

返答ありがとうございます。 Call CreatePdfFile(ThisWorkbook.Path & "\" & .Range("A" & nowRow) & ".pdf") 中断モードでコードを実行することはできませんとエラーメッセージが出ます。 どこが違うのでしょうか?

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.2

「中断モードでコードを実行できません」と出た時の対処方法 http://www.start-macro.com/55/w/s085.html こちらを参照してください

nkmyr
質問者

お礼

おかげさまでできました。 ありがとうございました。

関連するQ&A

  • エクセルvba. PDF保存 フォルダ内の順番

    エクセルVBAでPDFを作成すると、保存されたフォルダ内での順番が マクロ実行順から変わってしまいます。 Sheet1 顧客情報 Sheet2 請求書 Sheet1のA列の顧客名順でSheet2に差し込み保存した請求書PDFを フォルダ内でもA列の順番にする方法を教えてください。 よろしくお願いします。

  • エクセルの同一シートをPDFで保存するVBA

    下記のページでサンプルをダウンロードしました。 http://pc.nikkeibp.co.jp/article/NPC/20070301/263710/ 1つのシートを連続印刷するものです。 しかしながら、これをPDFに出力する場合、1データ毎に 保存場所を確認してきます。しかも、保存ファイル名も同一です。 (通常使うプリンタをPDF Printerに指定) これを自動で、1つのPDFファイルに全データを保存、 もしくは、1つのpdfに1つのデータが保存されたものを人数分、 保存することは可能でしょうか? Sub 個人票印刷() Range("個人番号") = Range("自") Do While Range("個人番号") <= Range("至") Sheets("個人票").PrintOut Range("個人番号") = Range("個人番号") + 1 Loop End Sub

  • エクセルVBAでPDF保存ができません

    エクセルのシートを連続してPDFで出力するVBAで困っています。 自分の端末内で動かす分にはぜんぜん問題はありません。ところが会社のサーバー内の共有フォルダーに保存して動かすと、最初の1件だけは正常にPDFに保存されますが、何度やっても2件目でエラーになりPDFが保存されません。 「実行時エラー1004 ドキュメントを保存できませんでした。ドキュメントが開いているか、保存時にエラーが発生した可能性があります。」 となってしまうのです。 PDFが保存されないうちに次のPDFを作成して保存しているためかと思いApplication.Waitで10秒待つようにしたところ最後まで保存ができました。 しかし、自分の端末内ではWaitを入れなくとも問題なくできます。 質問は、この原因と、一律にApplication.Waitで10秒待たなくとも別の方法で対応する方法はないかということです。 よろしくお願いいたします。 Sub TEST01() '2020/10/10   Dim Fdr As String, Fn As String   Dim n As Long      With Sheets("Test")     .Activate     Fdr = ThisWorkbook.Path & "\" & Format(Date, "YYYYMMDD") & "-PDF" 'PDF保存先'     If Dir(Fdr, vbDirectory) = "" Then        MkDir Fdr '無ければ作成     End If          For n = 1 To 20       .Range("C5").Value = Sheets("Data").Cells(n, "A").Value       Fn = .Range("C5").Value & "_" & .Range("D5").Value  'ファイル名       Application.StatusBar = Fn & " PDFファイル作成中/" & n & "件目"       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fdr & "\" & Fn & ".pdf"       Application.Wait Now() + TimeValue("00:00:10")   '10秒PDF保存完了を待つ(1-8秒では保存エラー)     Next n   End With   Application.StatusBar = "" End Sub

  • エクセルで所定のフォルダーにPDFファイルで保存

    エクセル、ワードでほぼ毎日送付する報告書をpdfファイルで送ることになりました。 ファイル名が指定の数字10桁(LOT No)で、これはエクセル表に入力してあるのでそのセルから引っ張ってきたいのです。⇒オペミス防止 少し調べてみたら非常に簡単な下記の3行で出来ることが分かったのですが、ついでにpdfファイル(D10のセル内容+.pdf)で保存画面が出て来れば非常に便利。 更なる欲としては、フォルダーまで指定できれば、マクロボタン化しておけば非常に便利なのですが。 1つ1つのマクロはここで絶大なるHELPを受けて出来ているのですが情けないことに全く応用が利きません。 Sub File() Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("D10") End Sub 尚、このコードはSheet1にしか適用されないようなので任意のActiveページで使いたいのですが。

  • 違うシートのデータを1つのPDFファイル保存VBA

    Sub データPDFファイル化() If MsgBox("ファイルをPDF化し過去データとして保存します。よろしいでしょうか?", vbYesNo) = vbNo Then End End If If Range("L2").Value <> "" Then Dim Fn As String Fn = Format(Range("L2"), "yyyy年m月d日") & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="D:\フォルダB\過去記録データ保存用フォルダ\データ\" & Fn Else MsgBox "セルL2にファイル名が入力されていません。", vbExclamation End If End Sub この様なコードがあります。エクセル2003では使用出来ないのでエクセル2007以降の使用です。 これはシート名「A」にコマンドボタンを設置し、そのコマンドボタンを押すとPDF化して保存するマクロです。 そこで質問ですがコマンドボタンを押すとシート名「A」と隣にあるシート名「B」をまとめてPDFファイルで保存する方法はどの様にすれば良いのでしょうか? PDF化した際は1ページ目がシート名「A」で2ページ目がシート名「B」を表示させ、名前はシート名「A」のL2(yyyy年m月d日)で保存します。

  • ExcelブックからシートデータをPDFで保存する

    ExcelブックからシートデータをPDFで保存する Excel2000 VBAで処理しています。 現在、プリンターをPDF作成ソフトにしてプリンター出力として保存しています。 コード: ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True これですと次の点で困っています。 1.通常使うプリンタにしないと出力できません  この点は別のプリンタでも出力するためにVB6.0と同じようにprinterオブジェクトを使おうとしましたが、参照設定でVisual Basic objects and proceduresを参照有に使用としましたがエラーになって出来ませんでした。 2.保存先のフォルダおよびファイル名をセルに指定しておいて、ワンクリックで保存できないでしょうか。 いちいち保存先のフォルダに移動して、ファイル名を書き込むのが手間です。 1,2回のことでしたら手間ではないのですが、毎日何十回と行うのでVBAで手間を省こうとしました。しかし、PDF保存の手間は省けていません。 よろしくお願いいたします。

  • マクロで指定されたフォルダへ名前をつけて保存する方法を教えてください。

     今Excelのマクロを作成しているのですが、ファイル名・フォルダ名をつけて実行させるプログラムが組めず困っています。どなたかご教授願います。 内容は以下のとおりです。  見積書の雛形(見積書.xls)に、入力シートと見積書・担当者コード・取引先コードの4つのワークシートが存在しています。  見積書作成後、見積書シートだけを別の新規ワークブックへコピーし、ファイル名を見積書番号とし、指定したフォルダへ保存したいと思っています。  保存したいファイル名(見積書番号)は、入力シートから得た担当者コードと取引先コードと枝番をつけた12桁の数字で保存したいと考えています。  指定先のフォルダは(担当者コード+担当者名)で作成しております。   Cドライブ \業務フォルダ\ 各担当フォルダで構成しています。   見積書雛形(見積書.xls)は業務フォルダ内に存在しています。 質問内容は以上です。よろしくお願いいたします。

  • エクセルからPDFに出力する場合

    エクセルからPDFに出力する場合で 出力したいエクセルデータに複数のシートが存在し、シートを作業グループとして PDFに印刷する場合ですがシートごとに保存ファイル名を要求されて面倒です。 一連の出力はできないのでしょうか?

  • 1つのPDFファイルを違う名前で大量保存

    1つのPDFファイルをエクセルのリストに基づき 管理NOをつけて名前をつけて保存をしたいのですが エクセルのマクロでできますでしょうか。 A.pdf→管理Noつきの11111_A.pdf、22222_A.pdfのように複数作成 PDFのファイル名に関しては エクセルのA列に下記のように記載 A列 ファイル名(1行目は見出し行) 11111_A.pdf 22222_A.pdf ↓ リストは250行ほどあり、1つのA.pdfを指定したフォルダに別名で250個保存したい。 マクロは超初心者で、指定したPDFファイルを開くことはできたのですが エクセルのリストに基づいてPDFファイルの保存ができませんでした。 どなたか教えていただけると嬉しいです。

  • PDFファイル作成時のフォルダ指定

    現在PDFファイルを作成するソフトを探しているのですが、あらかじめ出力先のフォルダを設定しておいて そこにPDFファイルが出力されるソフトが欲しいのです。(ファイル名は例えば「年月日+連番.PDF」等と設定できれば可) 今まで使ったソフトは、印刷する度にフォルダ・ファイル名を指定するようになっていて普段使用しているソフトだと不具合が出てしまう状況です。 無駄な印刷物が増えてしまう為、上記のようなソフトが必要なのですがご存知でしょうか?

専門家に質問してみよう