|
初めて利用させていただきます。
現在仕事で使用する書類のフォーマットを作成しており、提出方法をエクセル機能によるPDF出力に統一させたいため、マクロボタンで簡便にできるよう試行錯誤しておりました。
エクセルブックにシートが3つあり、IFの場合分けで出力範囲を指定する
ことを目標としており、各所調べて以下のようなプログラムを作成しました。
ところがIF分の場合分け通りにメッセージボックスが表示されているのにもかかわらず出力されるPDFデータはどちらの場合でも3シートとも出力されてしまいます。
PrintPreviewでフローを確認すると正常にシートが選択されているようなのですが、PDF出力にしたとたん上記のようになってしまします。
どなたか原因がわかる方がいらっしゃいましたらご教授いただけると幸いです。
鎧市区お願いいたします。
〜〜以下プログラム〜〜
Sub Pictureserch()
Dim PictureCount
Dim rc As VbMsgBoxResult
Dim currentFolderPath As String
Dim fileName As String
Dim savePath As String
currentFolderPath = ActiveWorkbook.Path
fileName = Range("D3") & Range("E3") & "_" & Range("D4").Value & ".pdf"
savePath = currentFolderPath & "\" & fileName
PictureCount = Worksheets("写真").Pictures.Count
If PictureCount > 0 Then
rc = MsgBox("写真シート内に写真データがあります写真シートも含めてPDF出力しますか?", vbYesNo + vbQuestion)
If rc = vbYes Then
MsgBox "PDFデータを本エクセルデータと同じフォルダに出力します。", vbInformation
Worksheets.Select
'ActiveWorkbook.PrintPreview
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:=savePath '選択したシートをPDF出力
Else
MsgBox "処理を中止します", vbCritical
End If
Else
rc = MsgBox("写真シート内に写真データがありません写真シートを除いてPDF出力しますか?", vbYesNo + vbQuestion)
If rc = vbYes Then
MsgBox "PDFデータを本エクセルデータと同じフォルダに出力します。", vbInformation
Worksheets(Array("カルテ", "対応一覧")).Select
'ActiveWorkbook.PrintPreview
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:=savePath '選択したシートをPDF出力
Else
MsgBox "処理を中止します", vbCritical
End If
End If
End Sub
|
|