こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCElのVBAからPDFを開き印刷する。

エクセルのフォームからダイヤグロボックスを開いて、pdfファイルを選択し開き印刷したいのですが、いろいろやったのですが、ファイルが開きません。単純にファイル名を指定して開き印刷するのは出来るのですが。ダイヤグロボックスから開きたいのでどなたかご指導いただけませんか?

1.直接アクロバットリーダーからファイルを開き印刷
  Private Sub CommandButton2_Click()
   PrinterName = Application.ActivePrinter
   Filename = "C:\○○\××××.pdf"
Set myShell = CreateObject("WScript.Shell")
myShell.Run ("AcroRd32.exe /t " & Filename)
End Sub

2.ダイヤグロボックスからファイルを開く
Private Sub microbe_Click()
ChDrive "R"
ChDir "R:\○○\××\△△"
OpenFileName = Application.GetOpenFilename("PDF Documents,*.pdf")
  ???
end sub

よろしくお願いします。

投稿日時 - 2012-12-03 14:43:35

QNo.7827757

困ってます

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

単純に組み合わせて以下でどうでしょうか

Private Sub microbe_Click()
ChDrive "R"
ChDir "R:\○○\××\△△"
Filename = Application.GetOpenFilename("PDF Documents,*.pdf")
If Filename = False Then Exit Sub
Set myShell = CreateObject("WScript.Shell")
myShell.Run ("AcroRd32.exe /t " & Filename)
Set myShell = Nothing
End Sub

投稿日時 - 2012-12-03 15:24:23

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

グロじゃナイヨ~!、ダイアロ~グ、、、
Sub GetOpenFilenamePDF()
Dim xFileNames As Variant
Dim nn As Long
xFileNames = Application.GetOpenFilename(filefilter:="PDF Documents,*.pdf", MultiSelect:=True)
If (Not IsArray(xFileNames)) Then
MsgBox "キャンセルされました!"
Exit Sub
End If
For nn = 1 To UBound(xFileNames)

MsgBox (nn & " 番目のファイル:" & xFileNames(nn))

Next
End Sub

投稿日時 - 2012-12-03 16:30:48

あなたにオススメの質問