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 IFS Danmark A/S
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.