Hy,
sorry ich war´n paar Tage weg. Schon klar, Glaskugel is echt stressig ::).
Also Hier der Code (auszugsweise!):
1. (Habe Deklarationen und diverse Dinge weggelassen die nichts mit dem Word export zu tun haben! Meine Kommentare für die Frage habe ich mit * gekennzeichnet)
Sub Click(Source As Button)
*Prüfe ob Word schon offen ist*
'check the Word Application object!
' Setting Word enviornment
On Error Resume Next
Set officeApp = GetObject("", "Word.Application")
If Err = 208 Then ' Fehler 208 tritt auf wenn Word noch nicht läuft
Err = 0
Set officeApp = CreateObject("Word.Application") 'Word "unsichtbar" starten
'objWord.Visible = True 'Word sichtbar machen
End If 'If Err = 208 Then
'__________________________________________________________________________________
Set coll = domDb.UnprocessedDocuments
For i = 0 To coll.Count -1
Set domDoc = coll.GetFirstDocument'1 Doc. from collection
'__________________________________________________________________________________
'Creata a new Word Document!
*hier starte ich dann die dot Vorlage!*
Call officeApp.documents.add("c:\WDB.dot")
Set officeMainDoc = officeApp.activedocument
Set officeFields = officeMainDoc.bookmarks
'__________________________________________________________________________________
*Ich fülle (hier nur 1) felder aus dem Notes Dok in das Word doc.*
With domDoc
'Set subject!
officeFields("thema").range=.subject(0)
'__________________________________________________________________________________
'check Copy Paste! Here you need frontend components to open the current document!
*Hier öffne ich nun das udoc und mache die COPY PASTE METHODE!*
'Set frondend Document!
Set udoc = w.EditDocument(True, domDoc)
udoc.EditMode = True
udoc.AutoReload = False
'__________________________________________________________________________________
Call udoc.GotoField("problem")
Call udoc.SelectAll
Call udoc.Copy
officeMainDoc.Bookmarks("prob").Range.Paste
'__________________________________________________________________________________
Set officeMainDoc = officeApp.activedocument
Call officeMainDoc.SaveAs(folder & "\" & Fulltrim(title) & ".doc")
*Hier Schließe ich Das Word doc!**Word App bleibt offen*
Call officeMainDoc.close
udoc.Close
'__________________________________________________________________________________
'Get the next selected Document!
Set domDoc = coll.GetNextDocument(domDoc)
Set officeMaindoc = Nothing
Set udoc = Nothing
'Wend
'Muss ich hier vielleicht noch die Vars leeren? Speicher läuft voll!
Next i
'__________________________________________________________________________________
'finalize
*GANZ am Ende mache ich Word dicht!*
officeApp.quit
Set officeApp = Nothing
End Sub
Das Problem ist nun, dass bei etwa 100 Docs in der Collection das Notes abschmiert und der RAM den es verbraucht bei 180 MB ist und auch nicht kleiner wird! (erst nach neustart des Clients)
Sollte ich evtl Word.App immer nach jedem gespeicherten Dokument schließen und ein neues Word Objekt anlegen? Das dauert dann bestimmt viel länger!
Danke euch..
Grüße
Ben