Problem Saving to File Name

Willow123

New Member
Joined
Dec 29, 2018
Messages
15
Hi All,

I wrote a macro that will loop through all open workbooks and save each and print each to pdf. It saves fine and it prints to PDF fine but it makes me enter the file name of the pdf manually. I would like it to use the filename for each workbook as the filename for each pdf file printed. Any thoughts would be welcomed.

Code:
[FONT=Verdana]Sub SB()[/FONT]
[FONT=Verdana]Dim singlebook As Workbook
Dim filename As String
Dim xlWrkSht As Worksheet
Dim fil As Scripting.File[/FONT]
[FONT=Verdana]
For Each singlebook In Workbooks
singlebook.Activate
'filename = ActiveWorkbook.Name[/FONT]
[FONT=Verdana]singlebook.SaveAs
With ActiveWorkbook[/FONT]
[FONT=Verdana]
ActiveWorkbook.PrintOut ActivePrinter:="microsoft print to pdf", prtofilename:=True[/FONT]
[FONT=Verdana]
End With
Next singlebook[/FONT]

[FONT=Verdana]
End Sub[/FONT]
 

Some videos you may like

Excel Facts

What is the fastest way to copy a formula?
If A2:A50000 contain data. Enter a formula in B2. Select B2. Double-click the Fill Handle and Excel will shoot the formula down to B50000.

JoeMo

MrExcel MVP
Joined
May 26, 2009
Messages
16,951
Office Version
2010
Platform
Windows
The singlebook.SaveAs simply saves the workbook as an Excel file. You need to export it to pdf. try something like this after you substitute the correct file extension for your excel workbooks for the one in red font (.xlsm)
Rich (BB code):
For Each singlebook In Workbooks
    With singlebook
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Replace(.Name, ".xlsm", ".pdf"), _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
    End With
Next singlebook
 
Last edited:

Watch MrExcel Video

Forum statistics

Threads
1,102,453
Messages
5,486,993
Members
407,575
Latest member
calc

This Week's Hot Topics

Top