Lotus Notes / Domino Sonstiges > OLE/COM-Programmierung
Mal wieder das Thema Export nach WORD
C_T:
HI Leute
ich habe da mal wieder eine kleine Frage und bräuchte eure Unterstützung.
Ich habe einen Button, mit dem ich markierte DOkumente aus einer Ansicht in ein WordDokument exportieren kann. Dies klappt soweit auch ganz gut. Jedoch möchte ich in diesem Worddokument die Zeile mit dem "TEXT" mit dem Format "Überschrift 3" aus Word belegen, ausserdem möchte ich nachdem das WordDokument komplett gefüllt ist noch ein Inhaltsverzeichnis erstellen.
Das Mit dem Format müsste irgendwie mit "Style" gehen, jeodch hab ich das noch nicht hinbekommen,
das mit dem Inhaltsverzeichnis muss glaube ich mit "TableOfContents" gemacht werden!? Oder irre ich mich bei beidem Total?
Ich hoffe unter euch sind ein paar die sich mit dem Export nach Word besonders gut auskennen.
Hier der Code zum Exportieren der Dokumente:
--- Code: ---Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim Ins As Variant
Set db = session.CurrentDatabase
Set col = db.UnprocessedDocuments
Set WordApp = CreateObject("Word.Application")
Call WordApp.documents.add("c:\Word.dot")
Set WordDoc = WordApp.activedocument
Set Ins= WordDoc.Paragraphs(WordDoc.Paragraphs.Count).Range
Set doc = col.GetFirstDocument
Do Until doc Is Nothing
Set uidoc = workspace.EditDocument(True, doc)
uidoc.EditMode = True
uidoc.AutoReload = False
WordDoc.Paragraphs(WordDoc.Paragraphs.Count).Style = wdStyleHeading3 <------------- Eigentlcih müsste das doch mit dieser Zeiel klappen oder?
Call Ins.InsertAfter("TEXT: "+doc.TEST(0)+Chr$(10))
Call WordDoc.ParagraphFormat.Style("Standard")
Call uidoc.GotoField("Text")
Call uidoc.SelectAll
Call uidoc.Copy
If Not Err = 4407 Then
Err = 0
Call Ins.InsertAfter("Text: "+Chr$(10))
Set Past = WordDoc.Content
Call Past.Collapse(wdCollapseEnd)
Call Past.Paste
Call Ins.InsertAfter(Chr$(10))
End If
Call Ins.InsertAfter(Chr$(12))
uidoc.Close(True)
Set doc = col.GetNextDocument(doc)
Loop
Set WordDoc = WordApp.activedocument
End Sub
--- Ende Code ---
Schonmal Vielen Dank für eure Hilfe
Gruß Christian T.
Axel:
--- Code: ---[codeWordDoc.Paragraphs(WordDoc.Paragraphs.Count).Style = wdStyleHeading3 ]
--- Ende Code ---
Wo setzt du den Wert für Count?
Ich habe das mal so gelöst
Wordapp.Selection.Style = wdStyleNormal
Hast du auch die wd-Konstanten definiert?
z.B.
Const wdStyleNormal = -1
Const wdStyleHeading3 = -4
Axel
C_T:
Das Count brauch ich ja definieren, denn das ist ja "ein Befehl"
und wieso muss ich den die wd sachen definieren? Ich dachte das wäre von Word vorgegeben.....
MadMetzger:
Aber woher soll Notes denn wissen, dass das Konstanten von Word sind? Deswegen musst du die Konstanten nochmal in Notes separat deklarieren.
Axel:
Count ist kein Befehl, sondern eine Eigenschaft. Sie liefert sie anzahl der Absätze in einem Dokument zurück.
Wenn du ein Absatzformat zuweisen willst, dann musst du angeben welchem Absatz.
Hier mal ein Beispiel aus der Word VBA-Hilfe:
--- Zitat ---Dieses Beispiel weist allen Absätzen im aktiven Dokument abwechselnd die Formatvorlagen Überschrift 3 und Normal zu.
For i = 1 To ActiveDocument.Paragraphs.Count
If i Mod 2 = 0 Then
ActiveDocument.Paragraphs(i).Style = wdStyleNormal
Else
ActiveDocument.Paragraphs(i).Style = wdStyleHeading3
End If
Next i
--- Ende Zitat ---
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln