Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Word Makro von Excel ausführen

Word Makro von Excel ausführen
13.10.2014 22:35:41
Excel
hallo
habe ein Excel-Dokument mit einem Makro, das ein bestimmtes Word-Dokument öffnet und ein dort stehendes Makro startet. Dabei werden auch Daten übergeben.
Das funktioniert.
Nun würde ich gerne die Sache dahin gehend ändern, dass auch das Word-Makro im Excel-Makro steht. Geht das irgend wie?
Der Vorteil wäre, dass im Word-Dokument kein Makro mehr steht und alles vom Excel-Makro gesteuert werden kann.
Hier habe ich das Excel-Sheet hochgeladen, damit man sieht, wie Word aufgerufen wird.
https://www.herber.de/bbs/user/93146.xlsm
Und hier das Word-Makro (in etwas abgespeckter Form wegen der Übersichtlichkeit).
Sub NamenDict(oNamen As Object)
Dim r As Range
Dim i, j As Integer
Dim sExcelname, sWordtag As String
On Error GoTo fehler
With ActiveDocument
'Alle Textmarken durchgehen
For i = 1 To .Bookmarks.Count
sWordtag = .Bookmarks(i).Name
.Bookmarks(i).Select
If oNamen(sWordtag) = "Wahr" Then
.Bookmarks(i).Range.Font.StrikeThrough = 0
.Bookmarks(i).Range.HighlightColorIndex = wdTurquoise
End If
Next i
End With
Exit Sub
fehler:
MsgBox "F: " & Err.Description & " - " & Err.Number
End Sub
würde mich über konkrete Hilfe sehr freuen.
LG,
Barbara

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

Betreff
Datum
Anwender
Anzeige
AW: Word Makro von Excel ausführen
13.10.2014 23:16:22
Excel
Hallo!
Stichwort: CreateObject("Word.Application")
Gruß, René

AW: Word Makro von Excel ausführen
13.10.2014 23:50:31
Excel
OK, das habe ich schon mal gelesen, kann es aber nicht einsetzen. Da fehlt es mir an VBA-Kenntnissen.
Könntest Du da bitte Deine Hilfe etwas konkretisieren, an Hand meines Beispiels?
Danke.

AW: Word Makro von Excel ausführen
14.10.2014 10:12:45
Excel
Hallo Barbara,
die Integration des Wordmakros in das Excelmakro kann wie folgt aussehen.
Setze zusätzlich im Excel VBA-Editor unter Extras--Verweise den Verweis auf "Microsoft Word x.y Object Library". Das erleichtert die Übernahme des Wordmakros.
Gruß
Franz
Sub namenDict_nach_word()
'Alle Namen werden im Dictionary oDic gespeichert
'Dann wählt der Anwender eine Word-Datei, in der dann "NamenDict" mit oDic
'durchgeführt wird.
Dim oDic As Object  'Dictionary-Verzeichnis
Dim nName As Name
Dim sDatei As String
Dim oWordInstanz, oWordDoku As Object
On Error GoTo fehler
Set oDic = CreateObject("Scripting.Dictionary")
'Word-sDatei wählen
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = ThisWorkbook.Path & "\"
.Filters.Clear
.Filters.Add "Word-vorlagen", "*.dot; *.dotx;*.dotm", 1
.AllowMultiSelect = False
If .Show = -1 Then
sDatei = .SelectedItems(1)
Else
Exit Sub
End If
End With
'Neues Word-Dokument auf Basis der Vorlage  öffnen
Set oWordInstanz = CreateObject("Word.Application") 'Word-Instanz erstellen
oWordInstanz.Visible = True
Set oWordDoku = oWordInstanz.Documents.Add(Template:=sDatei)
'Excel-Namen in Word-Textmarken übertragen
Call NamenDict(oWordDoku, oDic)
Set oWordDoku = Nothing
Set oWordInstanz = Nothing
MsgBox "Excel-Übertragung Fertig. "
Exit Sub
fehler:
Set oWordDoku = Nothing
Set oWordInstanz = Nothing
MsgBox Err.Number & " - " & Err.Description
End Sub
'Für korrekte Funktion im VBA-Editor unter Extras -- Verweise... den Verweis auf
' die Microsoft Word x.y Object Library aktivieren.
'oder alle Word-Objekte als As Object deklarieren und Word-Variablen durch _
ihre Werte ersetzen
Sub NamenDict(oWordDoku As Object, oNamen As Object)
Dim r As Word.Range 'alternativ deklarieren: As Object
Dim i As Integer, j As Integer
Dim sExcelname As String, sWordtag As String
On Error GoTo fehler
With oWordDoku
'Alle Textmarken durchgehen
For i = 1 To .Bookmarks.Count
sWordtag = .Bookmarks(i).Name
.Bookmarks(i).Select
If oNamen(sWordtag) = "Wahr" Then
.Bookmarks(i).Range.Font.Strikethrough = 0
.Bookmarks(i).Range.HighlightColorIndex = 3 ' 3 = wdTurquoise
End If
Next i
End With
Exit Sub
fehler:
MsgBox "F: " & Err.Description & " - " & Err.Number
End Sub

Anzeige
AW: Word Makro von Excel ausführen
15.10.2014 20:21:49
Excel
Vielen lieben Dank, Franz, für Deine ausführliche Unterstützung.
Es funktioniert und hilft mir sehr.
LG,
Barbara

30 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige