Hoi,
ik heb een macro die een bepaalde excel range (A1:N129) exporteert naar pdf en dan automatisch als attachment in een mail hangt bij outlook en emailadres invult zodat ik enkel nog op verzenden moet klikken.
Om dit te laten werken heb ik wel eerst een plugin moeten installeren die SaveAsPdf.exe noemt van Microsoft Corporation.
Sinds twee dagen geeft mijn macro een foute pdf, de tekst die gewoon in de cellen staat word goed geexporteerd maar grafieken en tekeningen enzo worden uitvergroot en springen naar pagina's waar ze niet horen.
Ik heb niets gewijzigd aan deze code en bij mijn weten ook niets aan de worksheet of instellingen van excel.
Ik gebruik hier drie macro's voor
1 verzamelt de variabelen, stelt de mail op en roept de 2 andere macro's aan
2 maakt de pdf
3 opent outlook, vult email in en hangt de pdf als attachment
Aan 3 is niets mis dus die ga ik wegens niet relevant niet plaatsen.
1 is bij mijn weten ook geheel in orde maar zo zou 2 ook moeten zijn, dus deze twee toon ik even.
macro 1 verzamelen en aanroepen
marco 2 exporteren naar pdf
Ik heb me al moe gezocht naar een oplossing maar vind er geen, iemand een idee of het aan de macro's ligt of aan een instelling ofzo want ik weet het niet meer.
ik heb een macro die een bepaalde excel range (A1:N129) exporteert naar pdf en dan automatisch als attachment in een mail hangt bij outlook en emailadres invult zodat ik enkel nog op verzenden moet klikken.
Om dit te laten werken heb ik wel eerst een plugin moeten installeren die SaveAsPdf.exe noemt van Microsoft Corporation.
Sinds twee dagen geeft mijn macro een foute pdf, de tekst die gewoon in de cellen staat word goed geexporteerd maar grafieken en tekeningen enzo worden uitvergroot en springen naar pagina's waar ze niet horen.
Ik heb niets gewijzigd aan deze code en bij mijn weten ook niets aan de worksheet of instellingen van excel.
Ik gebruik hier drie macro's voor
1 verzamelt de variabelen, stelt de mail op en roept de 2 andere macro's aan
2 maakt de pdf
3 opent outlook, vult email in en hangt de pdf als attachment
Aan 3 is niets mis dus die ga ik wegens niet relevant niet plaatsen.
1 is bij mijn weten ook geheel in orde maar zo zou 2 ook moeten zijn, dus deze twee toon ik even.
macro 1 verzamelen en aanroepen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| Sub EmailPdf() ' ' EmailPdf Macro ' Email de factuur als pdf door ' ' Sneltoets: CTRL+SHIFT+E ' Dim FileName As String Dim Mail As String Mail = Sheets("OFFERTE").Range("B5").Value If ActiveWindow.SelectedSheets.Count > 1 Then MsgBox "There is more then one sheet selected," & vbNewLine & _ "ungroup the sheets and try the macro again" Else 'Call the function with the correct arguments 'For a fixed range use this line 'FileName = RDB_Create_PDF(Range("A1:O129"), "", True, False) 'For the selection use this line 'FileName = RDB_Create_PDF(Selection, "", True, True) 'For a fixed file name and overwrite it each time you run the macro use FileName = RDB_Create_PDF(Range("A1:N129"), "C:\Documents and Settings\XP\Mijn documenten\OFFERTE PDF\OfferteVerstuur.pdf", True, False) If FileName <> "" Then RDB_Mail_PDF_Outlook FileName, Mail, "Uw offerte", _ "Beste" _ & vbNewLine _ & vbNewLine _ & vbNewLine & "Inmiddels verblijven wij met beleefde groeten," , False Else MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _ "Microsoft Add-in is not installed" & vbNewLine & _ "You Canceled the GetSaveAsFilename dialog" & vbNewLine & _ "The path to Save the file in arg 2 is not correct" & vbNewLine & _ "You didn't want to overwrite the existing PDF if it exist" End If End If End Sub |
marco 2 exporteren naar pdf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| Function RDB_Create_PDF(Myvar As Object, FixedFilePathName As String, _ OverwriteIfFileExist As Boolean, OpenPDFAfterPublish As Boolean) As String Dim FileFormatstr As String Dim Fname As Variant 'Test If the Microsoft Add-in is installed If Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" _ & Format(Val(Application.Version), "00") & "\EXP_PDF.DLL") <> "" Then If FixedFilePathName = "" Then 'Open the GetSaveAsFilename dialog to enter a file name for the pdf FileFormatstr = "PDF Files (*.pdf), *.pdf" Fname = Application.GetSaveAsFilename("", filefilter:=FileFormatstr, _ Title:="Create PDF") 'If you cancel this dialog Exit the function If Fname = False Then Exit Function Else Fname = FixedFilePathName End If 'If OverwriteIfFileExist = False we test if the PDF 'already exist in the folder and Exit the function if that is True If OverwriteIfFileExist = False Then If Dir(Fname) <> "" Then Exit Function End If 'Now the file name is correct we Publish to PDF On Error Resume Next Myvar.ExportAsFixedFormat _ Type:=xlTypePDF, _ FileName:=Fname, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=OpenPDFAfterPublish On Error GoTo 0 'If Publish is Ok the function will return the file name If Dir(Fname) <> "" Then RDB_Create_PDF = Fname End If End Function |
Ik heb me al moe gezocht naar een oplossing maar vind er geen, iemand een idee of het aan de macro's ligt of aan een instelling ofzo want ik weet het niet meer.

[ Voor 15% gewijzigd door Dorgaldir op 30-10-2009 11:00 ]
Just me