Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: CLI_Andreas_Schmidt am 05.04.06 - 12:12:54

Titel: Word und Notes die ewige Ehe
Beitrag von: CLI_Andreas_Schmidt am 05.04.06 - 12:12:54
Hallo @DEV,

Ich versuche gerade ein Notes-Richtext-Feld (mit Tabellen und Formatierungen) auf ein Word Dokument zu übertragen (also die Inhalte zu übernehmen). Mit normalem Text funktioniert das auch gut. --> getformattedText. Aber was mache ich mit Tabellen und Text zusammen ?

???
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: semtex am 05.04.06 - 15:26:51
Also, ich hab das auch mal probiert (hauptsächlich um Schriftattribute wie fettgedruckt, kursiv, ... zu übernehmen), hab's aber nie hinbekommen.

Das soll aber nicht heißen, dass es gar nicht geht, wahrscheinlich bin nur ich an meine Grenzen gestoßen. Wäre aber interessant zu wissen, wenn's hier einen Vorschlag gibt.

Gruß semtex
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: Axel am 05.04.06 - 15:34:39
Ich habe mich daran auch schon versucht und bin aber auch nicht viel weiter gekommen. Mit den Backend-Funktionen ist wahrscheinlich nichts zu machen.


Axel


Titel: Re: Word und Notes die ewige Ehe
Beitrag von: y20frank am 05.04.06 - 19:15:21
Hey, ich hab's hinbekommen... STRG+C im RTF dann in's Word gewechselt und STRG-V !  O0
Aber ich glaub, dass ist nicht wirklich das, was du suchst...  ;D
Hab' leider keine Lösung dafür, aber falls es irgendwer dort draußen wissen sollte - mich interessiert das auch.
Gruß
Frank :-)
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: flaite am 05.04.06 - 19:34:11
Vielleicht sollten wir gemeinsam ein xslt stylesheet schreiben.
Problem Nr. 1: Das xml-Format von Word 2003 ist ziemlich kompliziert.
Hier ein Life-Ausschnitt aus einem laufenden Projekt:
Code
 
/></w:r><w:proofErr w:type="spellStart"/><w:r><w:t>Folgene</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:t> Status der </w:t></w:r><w:proofErr w:type="spellStart"/><w:r><w:t>Importlogdokumente</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:t> sind möglich:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="StandardWeb"/></w:pPr><w:r><w:rPr><w:color w:val="FF0000"/></w:rPr><w:t>[Tabelle]</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="StandardWeb"/></w:pPr><w:r><w:t>In der Ansicht </w:t></w:r><w:r><w:rPr><w:rStyle w:val="Hervorhebung"/></w:rPr><w:t>Kreditkartendaten</w:t></w:r><w:r><w:t> sind die </w:t></w:r><w:proofErr w:type="spellStart"/><w:r><w:t>Importlogdokumente</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:t> aller bisher durchgeführten Kreditkartenimporte aufgelistet.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="StandardWeb"/></w:pPr><w:r><w:t>Mit der Schaltfläche </w:t></w:r><w:r><w:rPr><w:rStyle w:val="Hervorhebung"/><w:b/><w:b-cs/></w:rPr><w:t>Suchleiste</w:t></w:r><w:r><w:t> in der Aktionsleiste der Ansicht können Sie eine Suchleiste ein- und ausblenden, über die Sie eine Volltextsuche in allen </w:t></w:r><w:proofErr w:type="spellStart"/><w:r><w:t>Importlogdokumenten</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:t> durchführen können. Durch Doppelklicken auf einen Eintrag öffnen Sie ein </w:t></w:r><w:proofErr w:type="spellStart"/><w:r><w:t>Importlogdokument</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:t>: Wenn Ihnen in der Zugriffskontrollliste der Datenbank die Rolle "[Importieren]" zugewiesen ist, können Sie für nicht abgeschlossene Importe die Weiterbearbeitung über Schaltflächen in der Aktionsleiste der Maske anstoßen.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="StandardWeb"/></w:pPr><w:r><w:t>Die Schaltfläche </w:t></w:r><w:r><w:rPr><w:rStyle w:val="Hervorhebung"/><w:b/><w:b-cs/></w:rPr><w:t>Namen ändern</w:t></w:r><w:r><w:t> ermöglicht die Änderung des Mitarbeiternamens in den noch nicht an die Sammeldokumente der Mitarbeiter weitergegebenen Belegen.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="StandardWeb"/></w:pPr><w:r><w:t>Mit der Schaltfläche </w:t></w:r><w:r><w:rPr><w:rStyle w:val="Hervorhebung"/><w:b/><w:b-cs/></w:rPr><w:t>Datensätze verteilen</w:t></w:r><w:r><w:t> kann ein weiterer Verteilungsversuch für alle noch nicht an die Sammeldokumente verteilten Belege angestoßen werden.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="StandardWeb"/></w:pPr><w:r><w:t>Die Schaltfläche </w:t></w:r><w:r><w:rPr><w:rStyle w:val="Hervorhebung"/><w:b/><w:b-cs/></w:rPr><w:t>Datei archivieren</w:t></w:r><w:r><w:t> ermöglicht Ihnen, wenn nötig, die nachträgliche Archivierung auf Dateiebene. Dabei wird nach der im </w:t></w:r><w:proofErr w:type="spellStart"/><w:r><w:t>Importlog</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r><w:t> aufgeführten Quelldatei gesucht, eine Kopie derselben mit konfigurierter Namensergänzung wird, wenn noch nicht vorhanden, in das konfigurierte 
Problem Nr 2: Dxl von Notes Rich Text ist auch nicht so einfach.

Da ich sowieso mit dem Zeug arbeite, werde ich demnächst vielleicht mal noch ein statement hier rein posten.

Gruß Axel
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: Ralf_M_Petter am 06.04.06 - 09:01:53
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
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: outerspace am 06.04.06 - 10:52:04
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
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: CLI_Andreas_Schmidt am 28.04.06 - 12:43:07
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...
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: CLI_Andreas_Schmidt am 28.04.06 - 14:11:00
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....
Titel: Re: Word und Notes die ewige Ehe
Beitrag von: CLI_Andreas_Schmidt am 29.04.06 - 10:11:35
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.