Kann Makrowarnung Aufforderung des Visio unterdrückt werden, wenn im Code zu automatisieren?

StackOverflow https://stackoverflow.com/questions/1040843

  •  22-07-2019
  •  | 
  •  

Frage

Ich bin die Automatisierung Visio 2003 von einer VB.NET App. Mein Code sieht wie folgt aus (mit dem uninteressant Sachen entfernt):

Dim objApp As New Microsoft.Office.Interop.Visio.InvisibleApp
objApp.Settings.ShowFileOpenWarnings = False
Dim objDoc As Microsoft.Office.Interop.Visio.Document
objDoc = objApp.Documents.Open(VisioFilename)

Ich habe festgestellt, dass die letzte Zeile bewirkt, dass Visio eine versteckte MessageBox erhöhen sagen:

Makros in diesem Dokument ist deaktiviert, da die Sicherheitsstufe hoch ist, und die Makros nicht digital signiert worden ist oder als sicher verifiziert. Um die Makros ausführen, können Sie entweder haben sie Ihre Sicherheitsstufe unterzeichnet oder ändern.

Da dies auf Computer mit werden soll ich nicht kontrollieren mit Dateien, die ich keine dieser beiden Optionen nicht funktioniert für mich kontrollieren. Ich kümmere wirklich nicht, dass die Makros deaktiviert sind, ich bin nur Visio mithilfe der Datei konvertieren aus es nativen ist Format SVG. Ich möchte auf keinen Fall der Benutzer vorschlagen, dass sie die Sicherheitsstufe zu senken, noch würde ich will, dass es für sie zu senken.

Wie Sie aus meinem obigen Code sehen können, ich drehe Datei öffnen Warnungen aus, aber das scheint nicht die Makro Warnung aufzunehmen. Da ich Visio.InvisibleApp bin mit stellt sich die Warnung aus dem Benutzer nicht angezeigt wird. Ausführen eine sichtbare Instanz von Visio wird nicht helfen, weil ich einen Batch-Konverter zu schaffen, auch wenn die Nachricht sichtbar war, bedeutet es der Benutzer für jede Datei auf OK klicken müßte. Das wäre die Batch-Konvertierung Funktion im Wesentlichen nutzlos machen.

Ich sehe, dass die Visio-Klasse eine VBAEnabled Eigenschaft hat, aber es ist nur lesen. Wenn es eine Möglichkeit ist, kann ich nur VBA deaktivieren, wenn Sie die Datei öffnen würde es wahrscheinlich, das Problem lösen. Ich habe alle über die Eigenschaften gesucht und durch die Einstellungen Eigenschaft auf der Klasse und nichts finden können. Ich habe eine Reihe von Google-Suche durchgeführt und kann nichts finden, das dieses Problem behebt.

Wer weiß, wenn diese Warnung unterdrückt werden, wenn die Automatisierung mit Visio verwenden? Kann ich es tun, wenn ich zu Visio 2007?

wechseln
War es hilfreich?

Lösung

Es gibt eine OpenEx Methode, die genau wie Öffnen funktioniert, aber es akzeptiert Fahnen. Einer dieser Flags ist visOpenMacrosDisabled (& H80).

Es gibt auch einige andere praktischen Fahnen dort wie visOpenDontList (& H8), so dass die Dateien geöffnet durch Automatisierung wird nicht auf die zuletzt geöffneten Dateien Liste hinzugefügt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top