Just nu i M3-nätverket
Gå till innehåll

Makro för PDF utskrift


ALSeger
 Share

Rekommendera Poster

Jag försöker skapa ett makro till en knapp där man ska skriva ut innehållet i kolumnerna A till E som PDF och sedan spara PDFen i samma mapp som Excelfilen ligger i och med samma namn som Excelfilen har. Men det går inte så bra.

 

 

Det är första gången jag använder VBA och undrar om någon kan ge mig lite tips.

 

Tack på förhand

Länk till kommentar
Dela på andra webbplatser

Vilken version av Excel?

 

men i princip borde

	Blad1.Range("A:E").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
   	ThisWorkbook.Path & "\Bok1.pdf", Quality:=xlQualityStandard, _
   	IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
   	False

fungera

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Jag fick det inte att funka.

 

När jag spelar in det jag vill göra får jag följande kod:

 

 

Sub Makro1()

'

' Makro1 Makro

'

 

'

Columns("A:E").Select

Range("A4").Activate

Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False

End Sub

 

 

Jag har även försökt med följande:

 

Sub CreatePDF_Click()

 

Dim pdfName As String

 

pdfName = Range("A2")

 

Columns("A:E").Select

SelectedColums.ExportAsFixedFormat Type:=xlTypePDF

Filename = ThisWorkbook.Path & "\pdfName.pdf"

Quality:=xlQualityStandard, Selection.PrintOut Copies:=1, Collate:=True, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True,

 

End Sub

 

Men får kompileringsfel och syntaxfel samt rödmarkerad text för

 

Quality:=xlQualityStandard, Selection.PrintOut Copies:=1, Collate:=True, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True,

 

Någon som vet varför?

Länk till kommentar
Dela på andra webbplatser

Sub CreatePDF_Click()

Dim pdfName As String

pdfName = Range("A2")

Columns("A:E").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & pdfName & ".pdf", _
Quality:=xlQualityStandard, Copies:=1, Collate:=True, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

borde fungera.

 

vette tusan vad du gjort men du ser skillnaderna mellan din kod och min hoppas jag.

Det ovan gör alltså samma som om du manuellt markerar A:E på ett blad, väljer spara som PDF, avancerade inställningar-> markerat område.

 

Det använder INTE eventuell PDF-skrivare du har installerat utan Excels inbyggda rutin för att skapa PDF.

Länk till kommentar
Dela på andra webbplatser

Jag lyckades få det att funka genom att ta bort en del kod...

 

Sub CreatePDF_Click()

 

 

Dim pdfName As String

Dim fileName As String

 

 

pdfName = Range("A2").Text

fileName = ThisWorkbook.Path & "\" & pdfName & "_" & Format(Date, "yyyymmdd") & ".pdf"

 

Columns("A:E").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName

 

 

End Sub

 

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

  • 6 years later...
Postad (redigerade)

Hur skulle man ändra koden för att istället få pdf:en automatiskt bifogad i ett mejl, där e-postmottagaren/mottagarna anges i en/flera celler utanför det område som ska synas i pdf:en?

Redigerad av Niklet
Felaktig fråga från början
Länk till kommentar
Dela på andra webbplatser

  • 4 veckor senare...

Gammal tråd du hittat.

Du måste NOG, jag tar detta ur huvudet.

  • Exportera som PDF och spara filnamn som variabel
  • Hitta de som du ska sända till
  • Bygga upp ett mail-objekt med CDO
    http://www.rondebruin.nl/win/s1/cdo.htm
  • Lägga till som ett attachment och skicka.

Lite gammal kod som visar konceptet:

Dim iMsg As Object
Set iMsg = CreateObject("CDO.Message")
With iMsg
        Set .Configuration = iConf
        .To = adr
        .CC = ""
        .BCC = ""
        .From = serverData.Email
        
        .ReplyTo = fromAdress
        .subject = subject
        .TextBody = body
        
        .AddAttachment fileName
        .Send
        
End With

Där jag tagit bort all config, du kan hitta hur på länken ovan.

 

Länk till kommentar
Dela på andra webbplatser

 Share

×
×
  • Skapa nytt...