Ich verwende Word (von 2007 bis 2013) zum Konvertieren von Dokumenten in das PDFA-Format und ich habe Probleme mit Benutzern mit bestimmten Add-Ins . Wenn sie das System verwenden, erhalten sie eine Auswahl von COM-Ausnahmen wie RPC_E_SERVERCALL_RETRYLATER und (0x800706BA) RPC-Server nicht verfügbar.So starten Sie eine neue Wortinstanz ohne Add-Ins, wenn das Wort bereits gestartet wurde
Wenn sie die Add-Ins deaktivieren, funktioniert es gut. Problem ist, dass die Add-Ins benötigt werden, so dass eine einfache Lösung aus dem Fenster ist. (Auch ich weiß, dass die Verwendung von Wort für diese Art von Sache ist verpönt, und wir suchen etwas besser zu bekommen, aber bis die Business-Seite zahlen wollen, sind wir mit diesem stecken)
Der neue Plan ist zu starten Wort mit dem/a-Parameter, um es ohne Add-Ins zu starten.
ich eine andere Frage How can I start MS Office Word from .NET without Add-ins? gesehen haben, wo es eine funktionierende Lösung für eine Instanz von Word ist,
//startup without plugins
System.Diagnostics.Process.Start(
@"Winword.exe",
@"/a");
//give a time for startup
Thread.Sleep(2000);
//attach to office
Application officeApplication = (Application)Marshal.GetActiveObject("Word.Application");
Meine Frage ist zweifach: Ist es möglich, Startparameter zu setzen, wenn Sie Wort wie dieses
startenvar _word = new Word.Application();
Also muss ich Process.start() nicht verwenden;
Und wenn nicht, wie mache ich eine späte Bindung an eine bestimmte Wort Instanz (GetActiveObject(), immer die älteste Wort Instanz), vielleicht gibt es eine andere Methode?