Servus zusammen,
wir haben im Firmen-SharePoint (Dokumentbibliothek) eine Word-Vorlage für eine Auftragsvergabe liegen.
Diese wird von dem jeweiligen Kollegen ausgefüllt, digital signiert und ein Makro kümmert sich darum, daß der Dateiname sich aus Feldinhalten des Auftrags zusammensetzt und im *.docx - Format in der SharePoint Dokumentbibliothek abgelegt wird.
Danach soll es eigentlich mit dem Makro weiterlaufen, daß eine pdf-Version des Auftrags erstellt wird und in einer eMail mit gewissen Vorgaben wie Adressen, Anhang etc. versendet werden kann.
Aber im Ablauf des Makros hakt es an der Stelle zwischen Signatur und eMail - bedeutet, der Auftrag wird noch abgespeichert als Vorbereitung für die digitale Signatur, aber genau dieses wird nicht abgewartet bzw. kann nicht durchgeführt werden, weil das Makro schon weiter ist und bereits die pdf-Version als eMail erstellt hat. D.h., im Auftrag der eMail ist keine digitale Signatur vorhanden, weil dieser Prozeß von Word gar nicht zu Ende kommt...
Gibt es Möglichkeiten mit VBA, daß das Makro "wartet", bis die Signatur in Word abgeschlossen ist, bevor der nächste Step mit der Umwandlung in pdf und eMail-Versand angestoßen wird?
Hier mal der Code, wie ich ihn mir als Laie so zurechtgebastelt habe:
Sub FileSaveAs()
'MsgBox ActiveDocument.ContentControls(1).Range.Text
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.ContentControls(6).Range.Text & "_" & ActiveDocument.ContentControls(2).Range.Text & "_" & ActiveDocument.ContentControls(5).Range.Text & ".docx"
If .Show = 0 Then Exit Sub
End With
Set objOL = CreateObject("Outlook.Application")
strTempPath = Environ("TEMP")
strFileNameNoExtension = Mid(ActiveDocument.Name, 1, InStrRev(ActiveDocument.Name, ".", -1, vbTextCompare) - 1)
strPDFPath = strTempPath & "\" & strFileNameNoExtension & ".pdf"
ActiveDocument.SaveAs2 FileName:=strPDFPath, FileFormat:=wdFormatPDF
Set objMail = objOL.CreateItem(0)
With objMail
Set .SendUsingAccount = .Session.Accounts.Item("uuu@xxx.de")
.cc = "xxx@xxx.de; yyy@xxx.de; zzz@xxx.de;"
.Subject = "Request"
.Importance = 2
.Body = "Blablabla."
.Attachments.Add strPDFPath
.Attachments.Add ("H:\aaa.pdf")
.Display
End With
Set objOL = Nothing
End Sub
|