wie zu stoppen Makros ausführen beim öffnen ein Word-Dokument mithilfe von OLE-Interop?
Wie der Titel schon sagt, habe ich eine .Net-Anwendung, die verwendet interop das öffnen von Dokumenten in Word. Ich habe
app.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable
bevor Sie das Dokument öffnen. Laut der Dokumentation, diesser "Deaktiviert alle Makros in allen Dateien, die programmgesteuert geöffnet, ohne die security-alerts"
Jedoch wenn ich versuchen, öffnen Sie ein bestimmtes Dokument, das ich erhalten ein Dialogfenster auf dem Bildschirm mit der Meldung "konnte nicht geladen werden, ein Objekt, weil es für diese Maschine nicht verfügbar". Es ist ein Kunden-Dokument, aber ich glaube, es enthält ein makro, mit Verweise auf ein COM-Objekt, das ich nicht installiert haben.
Mache ich etwas dumm? gibt es eine Möglichkeit zu eigentlich deaktivieren von Makros beim öffnen eines Word-Dokuments?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Bizarr, diese stützt sich auf eine Rückkehr zu pre-VBA-Tage, aber scheint immer noch die meiste zuverlässige Weise, um sicherzustellen, dass keine auto-Makros ausgelöst werden (in alle Dokument, möchten Sie vielleicht, um ihn wieder mit dem parameter "0").
Vor kurzem hatte ich ein Projekt, wo ich zu Bearbeiten hatte, von 6.000 Word-Vorlagen (ja, die Vorlagen, nicht Dokumente), von denen viele hatten oddball Sachen wie Makros, etc. Ich war in der Lage zu verarbeiten, aber alle 6 mit dieser Technik. (Ich habe nie herausfinden, was das problem war mit den 6).
EDIT: für eine Diskussion, wie diesen Aufruf aus C# finden Sie unter: http://www.dotnet247.com/247reference/msgs/56/281785.aspx