Ich habe eine Aufgabe, wo ich einen Seriendruck in Word (2016) durchführen müssen. Ich muss einen normalen Seriendruck durchführen, aber ich muss einige benutzerdefinierte E-Mails senden, ohne Outlook zu verwenden. Ich würde gerne den integrierten Seriendruck-Assistenten verwenden, da er unseren Benutzern bekannt ist, aber ich kann keine Möglichkeit finden, den Assistenten aufzurufen. Ich habe eine ShowWizard Methode für VBA gefunden, aber nichts für C#. Ist der Seriendruck-Assistent mit VSTO C# verfügbar? Gibt es einen besseren Weg, um das Ziel zu erreichen?Word Mail Merge Wizard in C#
Antwort
Zuerst würde ich Ihnen raten, entweder VBA oder Interop-Bibliotheken zu verwenden. Beide können nur auf einem Computer ausgeführt werden, auf dem MS Office installiert ist. Bei VBA-Anwendungen können Probleme auftreten, wenn Benutzer mit verschiedenen Office-Versionen diese ausführen und wenn Sie neue Updates erhalten. Es ist auch bekannt, dass Interop Probleme in Serverszenarien hat.
Für die Zusammenführung von E-Mails ist es wahrscheinlich sinnvoll, eine aus den OpenXML-basierten Toolkits von Drittanbietern auszuwählen, damit sie ohne MS Office (Think-Server-Szenarien) ausgeführt werden können. Sie benötigen MS Word Vorlagen Dokumente mit Platzhaltern für Daten. Dann können Sie C# verwenden, um die Daten für die Berichte zu laden und die Daten mit Vorlagen zusammenzuführen, um endgültige Dokumente (docx, pdf, xps oder Bildformate) zu erhalten. Hier ist der Code durch ein solches Toolkit verwendet benötigt, um Daten aus der Datenbank mit der Vorlage Zusammenführung ein PDF-Dokument zu erhalten:
IEnumerable<Customer> customers = DataAccess.GetCustomerById(15);
DocumentGenerator dg = new DocumentGenerator(customers);
DocumentGenerationResult result = dg.GenerateDocument("MyTemplate.docx", "MyReport.pdf");
Auf dieser link können Sie weitere Informationen und Beispiele finden.
Bisher haben Sie eine Möglichkeit, Serienbrief-Dokumente zu generieren. Nun zu deinem zweiten Problem, das diese Dokumente verschickt.
Ich nehme an, dass Ihr E-Mail-Server auf MS Exchange basiert. Neuere Versionen von MS Exchange Server stellen Webdienste bereit, die von einem Client aus verwendet werden können, ohne dass Outlook installiert sein muss.
Es gibt einige Schritt-für-Schritt-Anleitungen wie https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx, die Ihnen den Einstieg erleichtern. Sie werden in der Lage sein, die Anwendung zu schreiben, die die vollständige Kontrolle über alle Aspekte des Sendens von Nachrichten hat. Ich habe eine einfache Mail-Sende-Bibliothek für unser Unternehmen erstellt. Es hat einige Zeit gedauert, bis ich herausgefunden hatte, was es ist, aber jetzt ist es eine Art, es zu vergessen und zu vergessen. Es läuft reibungslos und ohne Probleme.
- 1. Summieren von XML-Daten in MS Word Mail Merge
- 2. Word Mail-Merge zeigt die verstrichenen Sekunden nicht korrekt an
- 3. WinForms Aero Wizard in C#?
- 4. Merge MS Word Dokumente in Github
- 5. Wie erstelle ich einen benutzerdefinierten Word-basierten Bericht mit verschiedenen Kundendaten? (No Mail Merge)
- 6. Wie Merge-Feld in Word mit docx4j hinzufügen?
- 7. Verfahrensschritte (Wizard) in Hochformat
- 8. C++ merge sort wird nicht zusammengeführt?
- 9. Verwenden Sie Office-Add-Ins (js) importieren Mail Data Merge
- 10. Implementierung Merge Sortierung in C++
- 11. Merge Sort-Algorithmus in C++
- 12. Merge Art Fehler in C
- 13. Word-Count-Algorithmus in C#
- 14. InsertSymbol in Word mit C#
- 15. C++ merge sort trouble
- 16. C# Druckvorlage Word-Datei
- 17. Filling Felder in Word verwenden C# und Microsoft Word Interop
- 18. C# generische Liste merge
- 19. Export in Microsoft Word in C#
- 20. Ich möchte eine E-Mail-Adresse in Word VBA ändern
- 21. Eigenschaftsseiten (Wizard) - OnQueryCancel
- 22. selen test gwt wizard
- 23. Fuelux-Wizard-Validierungseingabe
- 24. Wizard Form Validierung
- 25. Merge und Aktualisieren zwei Listen in C#
- 26. Merge Liste mit Linq in C#
- 27. Making Modal Wizard
- 28. Semi-Transparent Wizard Form
- 29. Install Wizard restart
- 30. Xamarin.Forms sehen für Wizard
Dank @jura für mich in die richtige Richtung zeigen. Gibt es kostenlose openxml Toolkits, die du empfehlen würdest? Ich werde mir das OpenXML-SDK von Nuget ansehen. Es sieht so aus, als ob es einige Werkzeuge für die Konvertierung von DOCX nach HTML hat und Daten von XLSX, die beide benötigt werden, zieht. – mack
OpenXML SDK ist sinnvoll, wenn Sie einfache Dokumentmanipulationen durchführen müssen. Ich musste komplexe Dokumentverschmelzungen mit komplexen Vorlagen lösen. Ich hatte nur sehr begrenzte Zeit, um das zu erreichen, also habe ich eine Bibliothek von Dritten benutzt. –