Hallo Zusammen
Ich bearbeite von einem Excel-Dokument aus verschiedene Word-Dokumente.
Die Kopfzeile ist in jedem Dokument mit den gleichen Variablen zu füllen, deswegen will ich daraus eine Funktion machen.
Nun bekomme ich aber immer den Fehler: "This command is not available because no document is open." Wie muss ich das Word Dokument ansteuern damit ich es in der Funktion weiter bearbeiten kann? Habs probiert mit doc.activate, das bringt jedoch leider nichts :(
Hoffe jemand kann mir auf die Sprünge helfen :)
Hier mal der Code:
Sub DMISuiteTaskSchedulerDataBaseConnections()
Dim Bookmark As Variant
Dim BookmarkNumber As Integer
WebService = "xxx"
strPath = "xxx"
strDest = "xxx"
Set DMIService = New DMIService
Set oXML = CreateObject("msxml2.DOMDocument.4.0")
oXML.LoadXML DMIService.execute(WebService, "DatabaseSettings", "ApplicationSoap", "")
Set Node = oXML.SelectSingleNode("DatabaseSettings")
'Setzt Word als Objekt
Set AppWD = CreateObject("Word.Application")
AppWD.Visible = True
'Öffne das Dokument
Dim Appdoc As Object
Set Appdoc = AppWD.Documents.Add(strPath)
werte = Array( _
"Server", _
"Database", _
"User")
BookmarkNumber = 0
For Each wert In werte
BookmarkNumber = BookmarkNumber + 1
Bookmark = "DBConn" & BookmarkNumber & ""
Appdoc.Bookmarks(Bookmark).Range.Text = Node.Attributes.getNamedItem("" & wert & "").Text
Next wert
'Kopfzeile einfügen
Appdoc = Kopfzeile(Appdoc, UserForm1.AenderungsIDE, UserForm1.BetriebE, UserForm1.BauE)
End Sub
Und hier die Funktion die ich Aufrufe:
Public Function Kopfzeile(ByRef doc As Word.Document, AenderungsID As String, Betrieb As String, BauE As String) As Word.Document
'On Error GoTo ErrHandling
With doc
doc.Activate
Dim bmrange As Range
Set bmrange = ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Bookmarks("Aenderung").Range
ActiveDocument.Bookmarks.Add Name:="Aenderung", Range:=bmrange
End With
End Function
Sonnige Grüsse!
|