[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォルダ内のPDFファイルを全て印刷』(狭山)
お世話になります。
ディスクトップ上にPDFファイル収納というフォルダーがあります。
これをエクセルファイル名(PDF印刷)を開きマクロを実行すると
全てのPDFファイルを印刷とシート1のC5から印刷をしたPDFファイル名も
出せないかと
どうぞよろしくお願い申し上げます。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
頑張ってください。
マクロでの例はここの過去ログにもあるようです。
https://search.yahoo.co.jp/amp/s/dekiru.net/article/18116/amp/%3Fusqp%3Dmq331AQIKAGwASCAAgM%253D
(通りすがり) 2022/05/21(土) 17:09
過去ログを検索してみたのですが見当たらずで
他のサイトに以下のコードがありましたので月曜日に会社のプリンターと接続して
テストしてみます。
Option Explicit
'---コード1|フォルダ内のPDFファイルをファイル名称で取得するためのおまじない
Declare Function StrCmpLogicalW Lib SHLWAPI.DLL (ByVal lpStr1 As String, ByVal lpStr2 As String) As Long
'---コード2|フォルダ内のPDFファイルだけを抽出
Sub Print_PDFs()
Dim i As Long Dim fs As FileSystemObject Dim basefolder As Scripting.Folder Dim filepath As String Dim st() As String Dim mysubfiles As Scripting.Files Dim mysubfile As Scripting.File Set fs = New Scripting.FileSystemObject filepath = ThisWorkbook.path Set basefolder = fs.GetFolder(filepath) Set mysubfiles = basefolder.Files
i = 0 For Each mysubfile In mysubfiles If fs.GetExtensionName(path:=mysubfile) = pdf Then ReDim Preserve st(i) st(i) = mysubfile.path i = i + 1 End If Next
'---コード3|抽出したPDFファイルに配列を利用して、名前順に並び替える Dim j As Long Dim tmp As String For i = 0 To UBound(st) For j = i To UBound(st) Debug.Print st(i), st(j) If StrCmpLogicalW(StrConv(st(i), vbUnicode), StrConv(st(j), vbUnicode)) > 0 Then tmp = st(i) st(i) = st(j) st(j) = tmp End If Next Next
'---コード4|フォルダの名前順にPDFファイルを印刷していく Dim objAcroApp As New Acrobat.AcroApp Dim objAcroAVDoc As New Acrobat.AcroAVDoc Dim objAcroPDDoc As Acrobat.AcroPDDoc Dim Acroid As Long Acroid = objAcroApp.Show Dim f As Variant Dim str As String
For Each f In st Acroid = objAcroAVDoc.Open(f, ) Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() Dim Page As Long Page = objAcroPDDoc.GetNumPages Acroid = objAcroAVDoc.PrintPages(0, Page - 1, 2, 0, 0) If Acroid <> -1 Then str = str ; vbCrLf ; f Exit Sub End If Acroid = objAcroAVDoc.Close(False) Next
Acroid = objAcroApp.Exit Set objAcroApp = Nothing Set objAcroPDDoc = Nothing Set objAcroAVDoc = Nothing
'---コード5|印刷されなかったPDFファイルについてメッセージで知らせる If str <> Then MsgBox 以下のファイルは印刷できませんでした ; vbCrLf ; str End If End Sub (狭山) 2022/05/21(土) 18:48
[[20191114115000]] 『同一フォルダ内のPDFファイルを全て印刷するVBAに』(Ken)
(通りすがり) 2022/05/21(土) 19:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.