Lotus Notes / Domino Sonstiges > OLE/COM-Programmierung

Mal wieder das Thema Export nach WORD

(1/12) > >>

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