Excel2007以降なら、VBAでPDF化できるようですね。
そんなわけで書いてみました。変換元Excelファイルと同じ場所にPDFが格納されます。
表示されたシート、印刷範囲が適用され、全シートが1PDFファイルになります。
https://msdn.microsoft.com/ja-jp/library/office/ff198122.aspx
Sub ボタン1_Click() Dim fileNames As Variant Dim fileName As Variant Dim idx As Integer Dim FSO As Object Dim extensionName As String Dim PDFFileName As String fileNames = Application.GetOpenFilename(MultiSelect:=True) If IsArray(fileNames) Then Set FSO = CreateObject("Scripting.FileSystemObject") idx = 0 For Each fileName In fileNames extensionName = FSO.GetExtensionName(fileName) ' 元のファイル名.pdfを生成(.xls(x)は除く) PDFFileName = Left(fileName, Len(fileName) - (Len(extensionName))) & "pdf" Debug.Print PDFFileName Workbooks.Open fileName ’ 全ページをPDF可する ’ 印刷範囲を加味する ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:="", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False ActiveWorkbook.Close idx = idx + 1 Next fileName MsgBox "変換完了(" & idx & "件)" Set FSO = Nothing Else Exit Sub End If End Sub