07. januar 2012 - 19:57
Der er
11 kommentarer
Print makro i excel som udskriver til Pdf (uden at bekræfte dokumentnavn og folder, altså autonavn på pdf printet).
Hej Er det muligt at lave en makro i excel som udskriver til pdf printer, og at pdfdokumentnavn autodannes til en bestemt folder? (Printer kunne også være et microsoft image writer).
Annonceindlæg fra NetNordic
09. januar 2012 - 17:11
#1
Kan du bruge denne: ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ WB_Filename, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True WB_Filename er sti til placering + navn på dokument eks.: WB_Filename = "C:\Documents and Settings\My Documents\WBReport_" & Today()& ".pdf"
12. januar 2012 - 08:31
#2
Hej 1. problem) Den stopper ved "Today" og skriver "Sub or funktion not defined" (køre office 2003)
12. januar 2012 - 09:42
#3
OK - Today bruges egentlig kun som en unik identifier, så den kan udelade helt. ellers prøv med now() istedet.
12. januar 2012 - 10:27
#4
WB_FileName skal selvfølgelig står først :-) Denne burde virke: Sub Printtest() 'WB_Filename er sti til placering + navn på dokument eks.: wb_filename = "C:\Documents and Settings\My Documents\WBReport_" & Weekday(Now(), vbMonday) & "_" & WorksheetFunction.WeekNum(Now(), 1) & ".pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ wb_filename, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True End Sub Weekday og Weeknum anvender jeg her til at danne det unikke filnavn
12. januar 2012 - 11:17
#5
Hej Så siger den "Objekt does´t support property or method" på "ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ WB_Filename, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True" Hilsen Mll
12. januar 2012 - 12:08
#6
Så virker den nok ikke på 2003. Hvis du har installeret en PDF printer kunne du evt. forsøge dette: ActiveWorkbook.PrintOut ActivePrinter:="PDFPrinter" hvor PDFPrinter er navnet på den installerede PDF printer eks. "PDFCreator" Med PDF Creator gemmes dokumentet så manuelt via en dialogboks.
12. januar 2012 - 12:37
#7
Hej Jeg går ud fra at jeg kan kopier direkte in i en makro. Det ser sådan ud. Men den stopper allerede på navngivning af filen, hvis jeg bytter rundt. Skal jeg evt. fjerne noget? Hilsen Mll Sub Makro26() ' ' Makro26 Makro ' Makro indspillet 2012-01-12 ' ' wb_filename = "h:\PDFer\WBReport_" & Weekday(Now(), vbMonday) & "_" & WorksheetFunction.WeekNum(Now(), 1) & ".pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ wb_filename, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True Range("I19").Select End Sub
12. januar 2012 - 13:13
#8
Prøv at fjerne "& Weekday(Now(), vbMonday) & "_" & WorksheetFunction.WeekNum(Now(), 1)" så burde den gemme under navnet WBReport_.pdf
12. januar 2012 - 13:58
#9
Dutter ikke. Så stopper den stadig ved førstnævnte problem. Hilsen M
12. januar 2012 - 20:24
#10
Hvis du installere PDFCreator (er gratis) og aktivere PDFCreator objektet (Under Tools - Referencer), så virker denne. Sub PrintTest() Dim PDFJob As PDFCreator.clsPDFCreator Dim PDFPath As String Dim PDFName As String Set PDFJob = New PDFCreator.clsPDFCreator PDFPath = "H:\Documents\" PDFName = "WBReport_1.pdf" With PDFJob .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = PDFPath .cOption("AutosaveFilename") = PDFName .cOption("AutosaveFormat") = 0 .cClearCache End With ActiveWorkbook.PrintOut ActivePrinter:="PDFCreator"
11. april 2012 - 09:22
#11
Hej Eftersom det er det eneste svar jeg får, så lukker jeg. Er dog ikke helt optimal løsning. Mvh marianne
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig