Domino 9 und frühere Versionen > ND6: Entwicklung

Word und Notes die ewige Ehe

<< < (2/2)

Ralf_M_Petter:
Ich würde eher so daran gehen, dass ich den Rich Text mit DXL ausgebe, dann aber nicht versuche das mit einem xslt stylesheet in ein Word 2003 zu konvertieren, da dieses mega kompliziert werden würde. Sondern das Notes DXL einlesen und dann die Konvertierungen ganz normal über OLE zu übertragen. Eventuell auch ein Word Makro in VBA schreiben, dass das DXL einliesst. Aber vorsicht, auch DXL hat Grenzen. Gewisse Formatierungen werden nicht in DXL übertragen. Auch komplizierte Tabellenkonstrukte werden nicht eben einfach. Aber Fliesstext mit Formatierungen wie Schriftarten Fettschrift und so weiter sollte schon gehen.

Grüße

Ralf

outerspace:
Hallo,

Über Backend fällt mir auch keine Lösung ein.
Die halbautomatische Variante könnte so aussehen:
Notes Doc ist geöffnet und im Edit-Mode !!!
Im Word File ist eine Textmarke mit bekanntem Namen !!!
Folgende Aktion:

   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim db As NotesDatabase
   Dim i As Integer
   Dim app As Variant
   Dim doc As Variant
   Dim bookmark As Variant
   Dim filename
   
   On Error Goto iserror
   
   
   Set uidoc = ws.CurrentDocument
   If Not uidoc.EditMode Then
      Exit Sub
   End If
   Set app = Nothing
   Set doc = Nothing
'   filename = "c:\notes2excel.xls"
   filename = ws.OpenFileDialog( False , "please select file" , "Microsoft Word-files|*.doc" , "" , "" )
   If Not(Isempty(filename)) Then
      Set db = s.CurrentDatabase
      On Error Resume Next
      Set app = GetObject("", "Word.Application")
      On Error Goto iserror
      If app Is Nothing Then
         On Error Resume Next
         Set app = CreateObject("Word.Application")
         On Error Goto iserror
         If Not app Is Nothing Then
            Set doc = app.Documents.Open(filename(0), False, False)
            app.Visible = False
            Call doc.Activate
         End If
      Else
         Set doc = app.Documents.Open(filename(0), False, False)
         app.Visible = False
         Call doc.Activate
      End If
      If Not doc Is Nothing Then
         Call uidoc.GotoField("Body")
         Call uidoc.SelectAll
         Call uidoc.Copy
         If doc.Bookmarks.Exists("yyy") = True Then
            Call doc.Bookmarks("yyy").Select
            Call app.Selection.Paste
         End If
         app.Visible = True
      End If
   End If
   Exit Sub
iserror:
   Messagebox"Fehler", 0, "Fehler"
   Resume Next
End Sub

Ich hoffe das hilft weiter.

Gruß
Andreas

CLI_Andreas_Schmidt:
Hi Outerspace,

Deine Lösung finde ich gar nicht so schlecht. Daraus kann man viel machen. Ich habe Deinen Code mal angepasst und eine Worddatei mit einer Feldmarke erstellt. Leider werden die Inhalte nicht übernommen.

Muss man die Textmarke noch besonders deklarieren, damit sie Inhalte aufnimmt ? Also wenn ich die Aktion laufen lasse, wird das Notes-Bodyfeld markiert und ich denke auch kopiert. Nur am Einfügen hängt es noch.

Help me...

CLI_Andreas_Schmidt:
So nun wird auch der Text aus der Zwischenablage in das Word Dokument eingefügt. Leider irgendwo und nicht an Stelle der Markierung (Feldmarke).

Ich denke ich bin dicht dran....

CLI_Andreas_Schmidt:
Fehler gefunden. : )

Ich hatte keine Textmarke im Word Dokument sondern ein Merge-Field. Das hatte nicht funktioniert. : )
Jetzt läuft es ganz stabil. Für die Praxis gut zu gebrauchen.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln