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

Forumthread: 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

Anzeige

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.

Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige