Word 2013 VBA: Makro aus einer anderen Datei aufrufen

Dieses Thema Word 2013 VBA: Makro aus einer anderen Datei aufrufen im Forum "Microsoft Office Suite" wurde erstellt von Klexy_16, 16. Juni 2014.

Thema: Word 2013 VBA: Makro aus einer anderen Datei aufrufen Moin! Ich hab 2 Dateien geöffnet. In einer hab ich ein Textfeld. Das Textfeld ist markiert. Ich will es transparent...

  1. Moin!

    Ich hab 2 Dateien geöffnet. In einer hab ich ein Textfeld. Das Textfeld ist markiert. Ich will es transparent und mit fettem rotem Rand haben.
    In der Normal.dot steht folgendes und wird mit einem Button in der Symbolleiste aufgerufen:

    Sub Normal_Rahmen_rot_Fläche_transparent()
    Application.Run §Rahmen_rot_Fläche_transparent§
    End Sub

    Anführungszeichen hab ich durch Paragraphenzeichen ersetzt, weil Anführungszeichen hier im Forum nicht dargestellt werden - warum auch immer.


    In der anderen Datei (kann eine dot oder eine doc-Datei sein - ist mir egal) ist das eigentliche Makro hinterlegt, das mit Application.Run angesprochen werden soll:

    Sub Rahmen_rot_Fläche_transparent()
    Selection.ShapeRange.Fill.Visible = msoFalse
    Selection.ShapeRange.Fill.Transparency = 0#
    Selection.ShapeRange.Line.Weight = 1.75
    Selection.ShapeRange.Line.DashStyle = msoLineSolid
    Selection.ShapeRange.Line.Style = msoLineSingle
    Selection.ShapeRange.Line.Transparency = 0#
    Selection.ShapeRange.Line.Visible = msoTrue
    Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
    End Sub



    Funktioniert aber nicht.

    Warum der ganze Zinnober?
    Jeder in der Firma hat die Aufrufe in seiner lokalen Normal.dot. Wenn ich das hinterlegte Makro ändern will, muss ich an allen Rechnern die Normal.dot austauschen und das ist lästig. Also wird das eigentliche Makro in eine Datei aufs Netzlaufwerk gelegt und kann dort zentral und für alle geändert werden. Die Zentraldatei wird dann von jedem Makro erst aufgerufen und danach wieder geschlossen. Das hab ich jetzt nicht dargestellt, denn das funktioniert einwandfrei. Nur der Application.Run-Aufruf nicht.

    In Excel mach ich das genauso und hab keine Probleme damit.
    Jemand einen Tip? Google lässt mich hängen.
     
    Zuletzt bearbeitet: 16. Juni 2014
  2. Ergänzung:
    Wenn das eigentliche Makro in einer dot-Datei ist, die im Startup-Ordner ist (C:\Users\username\AppData\Roaming\Microsoft\Word\Startup\), dann funktioniert es. Allerdings kann ich dann das Makro-Modul nicht im VBA-Editor bearbeiten, weil "Projekt gesperrt". Außerdem ist das nicht in meinem Sinn, weil diese Datei ja auch lokal gespeichert ist.
    Wenn ich den Ort dieses Startup-Ordners auf einen Ort im Netzlaufwerk ändere, funktioniert der Zugriff aufs eigentliche Makro nicht mehr. Allerdings kann ich dann das Makro-Modul im VBA-Editor aufrufen und bearbeiten.

    Ich kann leider nicht feststellen, ob diese Unarten speziell an Office 2013 liegen, denn 2007 und 2010 sind hier abgeschafft. In 2013 geht aber einiges nicht mehr, was früher gegangen ist, abgesehen von den anderen Handlings-Katastrophen, die eingebaut wurden.
     
  3. Es wurde gelöscht. In der Tat.
    Beim ms-office-forum.net hab ich auch gepostet und hab dort eine Lösung, die ich jetzt auch hier einstelle, damit der Thread nicht offen bleibt. Das Forum Office-Lösungen, das du gestern vorgeschlagen hattest, ist auch seit April quasi tot, genau wie dieses hier, das als Wintotal-Forum einst Premium war.


    Lösung:
    _______________________________________________________________

    Mein Problem war, dass ich den Startup-Ordner an der falschen Stelle verschieben wollte. Ich wollte ihn nämlich nicht lokal haben, sondern am Netzlaufwerk.
    Korrekte Vorgehensweise: Datei > Optionen > Erweitert > Abschnitt Allgemein > Dateispeicherorte: dort den Standardpfad zum STARTUP-Ordner ändern. Ob man den Pfad dann unbedingt auch in Datei > Optionen > Trustcenter > vertrauenswürdige Speicherorte umstellen muss, weiß ich nicht.
    In den Startup-Ordner lege ich eine Startup.dot, in der die eigentlichen Makros hinterlegt sind. Die wird dann beim Aufruf von Word zusätzlich zur Normal.dot im Hintergrund geladen und alle darin enthaltenen Makros stehen dem Nutzer zur Verfügung.

    Wie gesagt, werden die Anführungszeichen in meinem Beispiel durch Paragraphen-Zeichen ersetzt, weil dieses Forum Anführungszeichen löscht.
    1. In die lokale Normal.dot kommt folgendes Makro:
    Sub Normal_Rahmen_rot_Fläche_transparent()
    Application.Run §Rahmen_rot_Fläche_transparent§
    End Sub


    2. In die Startup.dot kommt folgendes Makro (das einer Form oder einem Textfeld oder einem Bild einen roten Rand verpasst):
    Sub Rahmen_rot_Fläche_transparent()
    Selection.ShapeRange.Fill.Visible = msoFalse
    Selection.ShapeRange.Fill.Transparency = 0#
    Selection.ShapeRange.Line.Weight = 1.75
    Selection.ShapeRange.Line.DashStyle = msoLineSolid
    Selection.ShapeRange.Line.Style = msoLineSingle
    Selection.ShapeRange.Line.Transparency = 0#
    Selection.ShapeRange.Line.Visible = msoTrue
    Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
    End Sub


    3. Der Startup-Pfad kann ins Netzlaufwerk verlegt werden. Jetzt hat jeder in seiner Normal.dot nur noch einen Trigger und der Herr der Makros kann sich in den eigentlichen Makros verlustieren, sooft er es für nötig hält - und er hält es oft für nötig, denn immer wieder müssen Sonderfälle umfahren werden oder neue Features eingebaut werden.
    Dazu muss die Startup.dot aber mit rechtem Mausklick schreibgeschützt werden, sonst muss der Herr der Makros immer demjenigen hinterherlaufen, der in der Früh zuerst Word geöffnet hat.

    Theoretisch könnte man auch ohne diesen lokalen Trigger arbeiten, aber das hat bei mir andere Gründe.
    Was anscheinend nicht geht, ist, ein Makro in einer beliebigen anderen (geöffneten) Word-Datei anzusprechen.
     
    Zuletzt bearbeitet: 20. Juni 2014
  4. Majora
    Majora Mitarbeiter
    Wir hatte nein technisches Problem und mussten die Datenbank vom Tag davor einspielen, wobei auch leider die Beiträge dran glauben mussten! :(
     
Die Seite wird geladen...

Word 2013 VBA: Makro aus einer anderen Datei aufrufen - Ähnliche Themen

Forum Datum
4x Word 2013 in einem Account, wie aktivieren? Microsoft Office Suite 22. Okt. 2014
Windows 8.1 zeigt bei von Word 2013 erstellten Dateien immer .xml als Endung an Windows 8 Forum 26. Juni 2014
Wo müssen Vorlagen im Word 2013 gespeichert werden? Microsoft Office Suite 4. Apr. 2013
Welches ist das letzte kaufbare Office und Fehler beim Scrollen in Word: Text verdoppelt sich Microsoft Office Suite 14. Juli 2016
Word und Powerpoint hakeln. Filme abspielen führt zu Aufhängen Windows 10 Forum 17. Dez. 2015