Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: [VBA] CreateObject("Word.Applic.") Makros aktiv?

[VBA] CreateObject("Word.Applic.") Makros aktiv?
15.01.2018 10:04:44
Nils
Hallo liebe VBA Experten,
ich habe ein Excel Addin, dass mir über CreateObject("Word.Application") aus eine Vorlage.dotm eine Ableitung erzeugt. In der Vorlage.dotm ist ein Makro enthalten. An manchen Rechnern ist Word so konfiguriert, dass das ausführen von Makros abgefragt wird. An diesen Rechnern bleibt mein Excel-Addin stehen.
Ich würde gerne in einem solchen Fall den Benutzer mit einer MsgBox informieren, und meine Prozedur abbrechen. Gibt es eine Möglichkeit diesen Fall abzufangen? Folglich müsste ich entweder den Sicherheitsstatus in Word abfragen oder eine Fehlerbehandlung einführen, oder?
Grüße
Nils
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: [VBA] CreateObject("Word.Applic.") Makros aktiv?
15.01.2018 13:12:25
Nepumuk
Hallo Nils,
versuch mal folgendes an einem der Rechner die rumzicken:
Public Sub Beispiel()
    Dim objWord As Object
    Dim lngAutomationSecurity As Long
    Set objWord = CreateObject(Class:="Word.Application")
    objWord.AutomationSecurity = msoAutomationSecurityLow
    
    'weiterer Code
    
    objWord.AutomationSecurity = lngAutomationSecurity
    Call objWord.Quit
    Set objWord = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: [VBA] CreateObject("Word.Applic.") Makros aktiv?
15.01.2018 13:37:52
Nils
Hallo Nepumuk,
Verstehe ich den Code richtig, dass damit die Sicherheitseinstellungen von dem Word-Objekt auf low gesetzt, also verändert wird, und somit alle Malros zugelassen werden? Das würde ja bedeuten ich umgehe die Sicherheitseinstellungen des Users, oder nicht? Was macht das lngAutomationSecurity genau? Die Variable ist zwar deklariert, hat aber gar keinen Wert?
Danke
Nils
Anzeige
AW: [VBA] CreateObject("Word.Applic.") Makros aktiv?
15.01.2018 13:41:19
Nepumuk
Hallo Nils,
ja das siehst du richtig, und Oooooooooooops da hab ich was vergessen. So natürlich:
Public Sub Beispiel()
    Dim objWord As Object
    Dim lngAutomationSecurity As Long
    Set objWord = CreateObject(Class:="Word.Application")
    lngAutomationSecurity = objWord.AutomationSecurity
    objWord.AutomationSecurity = msoAutomationSecurityLow
    
    'weiterer Code
    
    objWord.AutomationSecurity = lngAutomationSecurity
    Call objWord.Quit
    Set objWord = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: [VBA] CreateObject("Word.Applic.") Makros aktiv?
15.01.2018 14:43:59
Nils
Hi Nepumuk,
Dachte ich mir! Sicherheitseinstellungen vorher auslesen, anschließend auf low setzen, und danach wiederherstellen! Klingt gut!
Werde ich testen!
Vielen Dank
Nils
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige