boppe
Gebruiker
- Lid geworden
- 26 aug 2010
- Berichten
- 69
Hallo
Onderstaande macro gebruik ik in het formulier bij het indrukken van een knop. Dat wordt er een PDF van gemaakt en per mail verstuurd.
Opeens werkt het niet meer bij de collega's.
Nu vermoed ik dat office365 hier debet aan is omdat deze collega's een andere computer hebben gekregen met dus excel365 erop.
Ze hebben wel een C:\Formulieren map op hun lokale PC.
Hoe kan ik het weer werkend krijgen in offe365?
Groet Robert
Onderstaande macro gebruik ik in het formulier bij het indrukken van een knop. Dat wordt er een PDF van gemaakt en per mail verstuurd.
Opeens werkt het niet meer bij de collega's.
Nu vermoed ik dat office365 hier debet aan is omdat deze collega's een andere computer hebben gekregen met dus excel365 erop.
Ze hebben wel een C:\Formulieren map op hun lokale PC.
Hoe kan ik het weer werkend krijgen in offe365?
Code:
Option Explicit
'Met deze module wordt het document opgeslagen als PDF in de map: C:\Formulieren
'Er vindt eerst een controle plaats voor de verplichte velden
'postcode/huisnummer, serienummer en conclusie
'De pdf wordt getoond maar kan eventueel uitgeschakeld worden
'Vervolgens wordt deze PDF als bijlage automatisch verstuurd naar mailadres: EMAIL@ADRES.nl
'
Sub Maak_een_PDF_en_mail_dit_bestand_automatisch()
'Working only in 2007 and up
Dim sh As Worksheet
Dim TempFilePath As String
Dim TempFileName As String
Dim FileName As String
Dim Sysdate
Sysdate = Format(Date, "YYYY/mm/dd")
'Temporary path to save the PDF files
'You can also use another folder like
'TempFilePath = "waar staan de bestanden"
TempFilePath = "C:\Formulieren\"
'Loop through every worksheet
For Each sh In ThisWorkbook.Worksheets
FileName = ""
'Test A50 for a mail address
If sh.Range("A50").Value Like "?*@?*.?*" Then
'fieldcontroll
If Not Dir(TempFilePath & FileName & ".pdf") = Empty Then
If MsgBox("Het bestand " & FileName & " bestaat al in " & vbCrLf & TempFilePath & vbCrLf & "Wil je dit bestand overschrijven?", vbExclamation + vbOKCancel, "LET OP !! Bestand bestaat al!") = vbCancel Then Exit Sub
End If
If Range("E4") = Empty Then
If MsgBox("Er is geen postcode + nr ingevuld. Hierdoor kan dit bestand niet worden opgeslagen.", vbExclamation + vbCritical, "LET OP !! Bestand kan niet worden opgeslagen!") = vbOK Then Exit Sub
End If
If Range("N3") = Empty Then
If MsgBox("Er is geen serienummer ingevuld. Hierdoor kan dit bestand niet worden opgeslagen.", vbExclamation + vbCritical, "LET OP !! Bestand kan niet worden opgeslagen!") = vbOK Then Exit Sub
End If
If Range("C47") = Empty Then
If MsgBox("Er is nog geen resultaat ingevuld. Maak een keuze tussen 'a', 'b', 'c' of 'd' en kies dan opnieuw Opslaan als PDF.", vbExclamation + vbCritical, "LET OP !! Bestand kan niet worden opgeslagen!") = vbOK Then Exit Sub
End If
'If there is a mail address in A50 create the file name and the PDF
TempFileName = TempFilePath & "WB__" & Format(Now, "yyyy-mm-dd_") & (Range("E4").Value) & "_snr_" & (Range("N3").Value) & ".pdf"
FileName = RDB_Create_PDF(Source:=sh, _
FixedFilePathName:=TempFileName, _
OverwriteIfFileExist:=False, _
OpenPDFAfterPublish:=True)
'If publishing is OK create the mail
If FileName <> "" Then
RDB_Mail_PDF_Outlook FileNamePDF:=FileName, _
StrTo:="EMAIL@ADRES.nl", _
StrCC:="", _
StrBCC:="", _
StrSubject:="Meetresultaten WB", _
Signature:=True, _
Send:=True, _
StrBody:="<body>Beste collega, <br><br><br>" & _
"Hierbij ontvangt u de meetresultaten van de WB die ik recentelijk heb onderzocht." & _
"<br><br>" & "NB Deze mail is automatisch gegenereerd en verstuurd.</body>"
Else
MsgBox "Het lukt dit programma niet om een PDF te maken. Dat kan de volgende oorzaken hebben:" & vbNewLine & _
" " & vbNewLine & _
"* Er staat een foutief teken in de postcode of het serienummer veld" & vbNewLine & _
" (alleen een - is toegestaan)! " & vbNewLine & _
" " & vbNewLine & _
"* Het bestand heeft u al opgeslagen. Indien de meting nog een keer" & vbNewLine & _
" moet plaatsvinden, zet dan een B achter het serienummer. " & vbNewLine & _
" " & vbNewLine & _
"* Het formulier heb je opnieuw gedownload en foutief opgeslagen. " & vbNewLine & _
" Sla dit formulier op in: C:\Formulieren."
End If
End If
Next sh
End Sub
Groet Robert