2016-07-28 9 views
0

Das ist es, was ich möchte. Sie öffnen das Dokument, füllen das Formular aus und wenn sie den Submit-Button drücken, wird das ausgefüllte Dokument ausgedruckt, unter einem anderen Namen mit Benutzereingaben gespeichert und soll dann auch das neue Dokument mit den Daten versehen werden. Alles funktioniert, außer dass das neue Dokument nicht per E-Mail versendet wird.So versenden Sie das gespeicherte Dokument und nicht das Originaldokument über VBA

Ich brauche entweder das komplette Dokument, das sie ausgefüllt haben, um es per E-Mail zu versenden, oder den Inhalt, den sie als Anhang ausgefüllt haben.

Hier sind mein Code:

Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
Application.ActiveDocument.PrintOut 
Dim strDocName As String 
    Dim intPos As Integer 
    'Ask the user to provide a filename 
     strDocName = InputBox("Please enter the name " & _ 
      "of your document.") 
ActiveDocument.SaveAs FileName:=strDocName, _ 
     FileFormat:=wdFormatDocument 

Options.SendMailAttach = True 
ActiveDocument.SendMail 

End Sub 
+0

Was zur Zeit geschieht? Ist überhaupt kein Dokument beigefügt? –

+0

Es speichert das neue Dokument, aber das Dokument auf meinem Bildschirm ist immer noch das Original, und das ist, was anstelle von neuen doc angehängt wird. – pchapman

Antwort

1

An einem gewissen Punkt „Active“ Schalter aus dem neuen Dokument der alten. Sie müssen explizit auf das neue verweisen.

Ich bin nicht sicher, an welchem ​​Punkt die Umschaltung auftritt, aber versuchen Sie es.

Wechsel:

Options.SendMailAttach = True 
ActiveDocument.SendMail 

An:

Dim MailDoc as Document 
Set MailDoc = ActiveDocument 

Options.SendMailAttach = True 
MailDoc.SendMail