Wordformular via VBA/Makro ausgefüllt mit Outlook

Hallo allerseits, ich hoffe jemand kann mir bei folgenden Problem helfen:

Ich habe in Word 2003 ein Formular erstellt. Die Felder sollenausgefüllt werden und dann per Button als Anlage (xyz.doc) mit Outlook versand werden. Soweit alles ok.
Mein Problem ist es nun, wenn ich das Formular ausgefüllt habe und dieses per VBA Script an Outlook übergebe, dann wir das Formular zwar als Doc - Anlage angehängt, jedoch sind alle Felder wieder leer?
Benutze folgenden Script:
Private Sub CommandButton1_Click()
Dim aws As String
Dim olapp As Object
aws = ActiveDocument.FullName
Set olapp = CreateObject(„Outlook.Application“)
With olapp.CreateItem(0)
.To = „[email protected]
'.cc = „[email protected],[email protected],[email protected]“ 'optional Kopie an
'.bcc = „[email protected],[email protected],[email protected]“ 'optional Blindkopie an
.Subject = „DEKUBITUSMELDUNG“ ’ Betreff optional
.HTMLBody = „Dekubitusmeldung“ ’ Body optional
.ReadReceiptRequested = True 'optional Lesebestätigung anfordern
.Attachments.Add aws
.Display
'SendKeys „%s“, True ’ optional Mail sofort senden
End With
Set olapp = Nothing

End Sub
_______________________________________________________

Benutze ich einfachg nur den Befehl: ActiveDocument.SendMail wird das Formular gefüllt als Anlage übernommen, allesdings weiß ich nicht wie ich hier dann anschließend die EMailempfänger wie auch den Betreff vordifinieren kann, so wie im obigen Script.

Weis einer von euch evtl. woran das liegen könnte?
Hintergrund ist einfach ein Wordformular als Vorlage zu öffnen welches ausgefüllt wird und dann an vorgegebene Adresse versandt wird und dann einfach wieder geschlossen wird, wenn der nächste die Vorlage öffnen sollen natürlich alle Formularfelder wieder leer sein.

Ich bin dankbar über jeden hilfreichen Tipp…

LG
juppi

Hallo Jupp,

Mein Problem ist es nun, wenn ich das Formular ausgefüllt habe
und dieses per VBA Script an Outlook übergebe, dann wir das
Formular zwar als Doc - Anlage angehängt, jedoch sind alle
Felder wieder leer?

Kannst du mal bitte mkit file-upload , s. FAQ:2606 so eine Doc wo das geschieht hochladen?

Benutze folgenden Script:

'SendKeys „%s“, True ’ optional Mail sofort senden

Schon mal .Send probiert?

Benutze ich einfachg nur den Befehl: ActiveDocument.SendMail
wird das Formular gefüllt als Anlage übernommen,

Ja schon, aber da hast du wenig Möglichkeiten bestimmte Dinge noch mitzu"übergeben"

allesdings
weiß ich nicht wie ich hier dann anschließend die
EMailempfänger wie auch den Betreff vordifinieren kann, so wie
im obigen Script.

Genau sowas fehlt.

Weis einer von euch evtl. woran das liegen könnte?

K.A. ich zumindest nicht, aber zeig mal die Doc…

Hintergrund ist einfach ein Wordformular als Vorlage zu öffnen
welches ausgefüllt wird und dann an vorgegebene Adresse
versandt wird und dann einfach wieder geschlossen wird, wenn
der nächste die Vorlage öffnen sollen natürlich alle
Formularfelder wieder leer sein.

? Das hat doch mit dem Send-Code nix zu tun. Die eigentliche Vorlage kriegt doch gar nicht mit daß du eines ihrer Doc-Kinder als Mailanhang versendest.

Gruß
Reinhard

Hallo Reinhard,

ich habe die Datei mal unter Link hochgeladen, wie Du es wolltest.
http://www.file-upload.net/download-3594131/Dekubitu…
Habe mir jetzt beholfen, indem ich das Dokuemnt vor dem Versenden unter Temp speichere… hier mal der Code:
Private Sub CommandButton2_Click()
ActiveDocument.SaveAs FileName:=„C:\Temp\Dekubitusmeldung.doc“
Me.CommandButton2.Enabled = False
Dim aws As String
Dim olapp As Object
aws = ActiveDocument.FullName
Set olapp = CreateObject(„Outlook.Application“)
With olapp.CreateItem(0)
.To = „[email protected]
'.cc = „[email protected],[email protected],[email protected]“ 'optional Kopie an
'.bcc = „[email protected],[email protected],[email protected]“ 'optional Blindkopie an
.Subject = „DEKUBITUSMELDUNG“ ’ Betreff optional
.HTMLBody = „Dekubitusmeldung“ ’ Body optional
'.ReadReceiptRequested = True 'optional Lesebestätigung anfordern
.Attachments.Add aws
.Display
'SendKeys „%s“, True ’ optional Mail sofort senden
End With
Set olapp = Nothing

End Sub
_________________________________________________

So funktioniert es zumindest, so wie ich es brauche, allerdings würde mich trotzdem das Problem interessieren woran es liegt. Es wäre auch schön heraus zu bekommen, wir ich den VBA-Button, beim Versenden deaktiviere, ich habe zwar schon etwas in code probiert, aber das versendete Formular hat immer noch einen aktiven Butten beim Empänger… nun ja… würde mich weiterhin über einen Tipp freuen.

Schöne Grüße
Juppi

hallo Jupp,

ich würde ja sehr gerne testen aber kann nicht :frowning:((

Egal ob ich den Code laufenlasse oder auch manuell versuche deine Datei unter neuem Namen abzuspeichern so klappt das nicht.
Ich hätte angeblich zuwenig Speicherplatz usw.

Macht mich sprachlos, auf C habe ich 60 GB frei und da soll deine winzige datei nicht reinpassen wenn ich sie unter anderem Namen speichere? :frowning:

Ich muß da mal auf Fehlersuche gehen, d.h. andere Programme wie Excel was neu abspeichern lassen u.v.m. um mal zu klären was da vorliegt.

D.h. solange ich die Datei nicht abspeichern kann solange kann ich dir nicht helfen.

Gruß
Reinhard

OT^4: Wordformular via VBA/Makro ausgefüllt mit Ou
Reinhard … nur zur gegenprüfung , ich kann sie downloaden und speichern und es sind 54kb …

merkwürden …

Reinhard … nur zur gegenprüfung , ich kann sie downloaden
und speichern und es sind 54kb …

hallo Lae,

danke dir für den Testdownload.

Im Sinne vom AusschlußverfaHREB HILFT MIR DAS WEIETER; NAJA EIN BI?CHEN .-9

Und auch ohne Ahnung wodran das liegt fress ich einen Besen wenn es an der kleinen Doc liegt.

Und es passsiert bei mir bei Word 2000 und Word 2007.

Natürlich habe ich den PC mehrmals gebootet und nur Word laufen lassen und das Internet, IMMER die gleiche Fehlermeldung ?
Bin da grad sehr ratlos.

Gruß
Reinhard

Hallo Reinhard,

speichere die Datei bitte einmal manuell unter dem TEMP Verzeichnis, so das sie also bereits einmal dort vorhanden ist, dann sollte es gehen.

Viele Grüße
Jupp

OT^2: OT^4: Zeichensatz Forum schlechtes wahl

Reinhard … nur zur gegenprüfung , ich kann sie downloaden
und speichern und es sind 54kb …

hallo Lae,

AHHH , es heisst

Der Auspruch stammt aus dem Text Divus Iulius, Abschnitt 33 und lautet im Original: Iacta alea est,’ inquit. (also: „geworfen ist der Würfel“) und die Antwort auf die Frage „wie heisst es denn nun (richtig)?“ lautet dann (je nach Tradition, die man annehmen will ob nun mit alea oder iacta vorne) so oder so mit est.

siehe /t/latein-eine-frage/3655740

Iacta alea est

So funktioniert es zumindest, so wie ich es brauche,
allerdings würde mich trotzdem das Problem interessieren woran
es liegt. Es wäre auch schön heraus zu bekommen, wir ich den
VBA-Button, beim Versenden deaktiviere, ich habe zwar schon
etwas in code probiert, aber das versendete Formular hat immer
noch einen aktiven Butten beim Empänger… nun ja… würde
mich weiterhin über einen Tipp freuen.

Hallo Jupp,

bei deinem Button, erheißt CommandButton2, habe ich ein Problem.
a) zu wenig Word-Kenntnisse
b) vielleicht wegen a) weiß ich nicht warum bei dem eineige Vba-befehle nicht geduldet werden obwohl sie die Intellisense vorschlägt.

Ich habe es jetzt mit Hängen und Würgen geschafft deine Datei abzuspeichern.
Ich habe sie dann als .dot abgespeichert.
(Das Problem mit der mistigen Speicherplatzknappheit ist nicht weg, nur umgangen, nein nicht durch die dot-Variante aber siehe Punkt a) :frowning: )

Jetzt zurück zum CommandButton2,
Me.CommandButton2.Visible=False
Me.CommandButton2.height=0
Me.CommandButton2.width=0

All das geht nicht, Fehlermeldung. Ich mutmkaße stark daß es mit deinem Formularschutz (Passwort) zusammenhängt.
Wieder wegen a) habe ich keine Ahnung wie man das aushebelt.
Wie lautet es?

Wenn ich es kenne und dann per Code „ausschalten“ kann so sehe ich da für mich Ansatzpunkte um diesen Button weg zu kriegen und sogar die Datei makrofrei zu versenden.
Wobei ich beim letzten Punkt echt nicht weiß was geschieht wenn ich in Word Code habe in dem steht daß er wenn er läuft allen Code in der Mappe liquidieren soll :smile:

Gruß
Reinhard