Domino 9 und frühere Versionen > ND6: Entwicklung
Word und Notes die ewige Ehe
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