Autor Thema: Dokumentenexport an Word  (Gelesen 9914 mal)

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Dokumentenexport an Word
« am: 08.04.04 - 16:51:13 »
Hallo,

ich habe mal wieder ein Problemchen,

und zwar hat mein Chef jetzt ein wunsch, wo ich absolut nicht weiß wie ich diesen Realisieren soll.

Ich habe eine Newsletterdatenk erstellt in der ich

Hauptdokumente und Antwortdokumente habe

Hauptdokument
   Antwortdokument
      Antwortdokument

Newsletter
   Rubrik
      Beiträge

Jetzt möchte mein Chef einen ganzen Newsletter Markieren und durche einen Tastendruck soll dieser Newsletter mit Allen Antwortdokumenten als Worddokument exportiert werden. Da ich (leider) mit LN Script auf Kriegsfuß stehe weiß ich nicht wie ich das Relaisieren kann.

Im Hauptdokument habe ich folgende Felder die übergeben werden müssen.

Jahrgang
Ausgabe
Nummer

Im darunterliegenden Antwortdokument (Rubrik)
Habe ich nur die Rubrik die Übergeben werden soll

Rubrik

Im Antwortdokument auf die Rubrik sind folgende Felder enthalten.

Ueberschrift
Text

Kann mir bitte jemand helfen ich weiß echt nicht mehr wie ich das Anstellen soll

Tschau Ingo

2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline MartinG

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re:Dokumentenexport an Word
« Antwort #1 am: 08.04.04 - 16:55:02 »
Schau mal per Forumsuche nach Word Export...

In der Sandbox hat es auch diverse dieser Scripte - wenn Du dann konkret ein Problem hast dann poste doch nochmal hier...

http://www-10.lotus.com/ldd/sandbox.nsf

Gruss
Martin
Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #2 am: 08.04.04 - 17:09:48 »
Hallo,

das habe ich bereits gedahn, ich habe auch schon eine Klasse die ich hier im Forum gefunden habe versucht einzubinden, ich scheidere aber daran die Antwortdokumente mit einzubeziehen.

TSchau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #3 am: 08.04.04 - 21:39:25 »
Hi,

ich hab mal auf die Schnelle aus dem Kopf was zusammengestrickt. Pack den Code in die entsprechenden Abschnitte eines Agenten. Das Ganze basiert auf der Klasse, die du im Forum gefunden hast. Zur Sicherheit findest du die Klasse auch hier: http://www.free.dominoserver.de/computer/noteslibrary.nsf/d2d59a3d7fc73a2bc1256a6900638352/331dd66d2239a1b2c1256dc50038f49e!OpenDocument

Ich hoffe der Code ist einigermaßen vollständig. Ich habe ihn nicht getestet. Aber eigentlich sollte es so funktionieren. Die Lösung ist ein rekursiver Lauf durch alle Antwortdokumente.

Zitat
(Options)
Use "libWord"

(Declarations)
Dim cWord As cWord

Sub Initialize

Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim strVorlage As String

strVorlage = "c:\Temp\Vorlage.dot"

Set db = session.CurrentDatabase   
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument  'Erstes markiertes Dokument

'Neue Instanz der Klasse cWord
Set cWord = New cWord
   
'Neues Dokument auf Basis der Vorlage erstellen. Dot muß nicht im Vorlagenverzeichnis liegen
Call cWord.CreateNewDoc(strVorlage)

'Einfügen der Daten aus dem Hauptdokument
Call cWord.Insert(doc.Jahrgang(0))
Call cWord.Insert(Ausgabe(0))
Call cWord.Insert(Nummer(0))
Call BearbeiteAntworten(doc)

Call cWord.ActivateWord ' Word in den Vordergrund
Delete cWord

End Sub



Sub BearbeiteAntworten(doc)

  Dim responses As NotesDocumentCollection
  Dim tmpDoc as NotesDocument

  Set responses = doc.Responses 'Alle Antworten in eine Collection einfügen
  Set tmpdoc = responses.GetFirstDocument
  While Not (tmpDoc Is Nothing)
    If tmpDoc.Form(0) = "Antwort" 'Prüfung um welche Art von Antwort-Doc es sich handelt
      'Wenn Antwort auf Hauptdokument
      Call cWord.Insert(tmpdoc.Rubrik(0))
    Else
      'Wenn Antwort auf Antwort
      Call cWord.Insert(tmpdoc.Ueberschrift(0))
      Call cWord.Insert(tmpdoc.Text(0))
    End If
    Call BearbeiteAntworten(tmpdoc) 'Rekursiver Aufruf
    Set tmpDoc = responses.GetNextDocument(tmpDoc)
  Wend

End Sub

Hier If tmpDoc.Form(0) = "Antwort" musst du an deine Maskennamen anpassen.

Schöne Ostern
Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Dokumentenexport an Word
« Antwort #4 am: 08.04.04 - 21:47:09 »
Gute (Oster-)Antwort - Axel.

Habe Dein Script mal angesehen (aber auch nicht getestet), aber genau so sollte es laufen  :D

Rekursiver Aufruf ist hier exakt die Lösung, um auch Antwort zu Antwort zu Antwort etc. zu erschlagen.

Happy Easter

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #5 am: 13.04.04 - 12:18:36 »
Vielen Dank @Axel,

ich werde es gleich ausprobieren, muß ich bei der Wordvorlage irgendetwas beachten Textmarken oder so ?

Tschau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #6 am: 13.04.04 - 12:27:46 »
Hi,

wenn du das Script so einsetzt, nicht. Allerdings erfolgt die Ausgabe in das Worddokument völlig unformatiert. Das Script soll nur zeigen wie es prinzipiell gehen kann.

Wenn das Ganze formatiert werden soll, dann muß man da noch ein bisschen basteln. Das ist dann Fleissarbeit.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #7 am: 13.04.04 - 13:12:40 »
Hallo,

bei der Zeile mosert er rum

  If tmpDoc.Form(0) = "Antwort" 'Prüfung um welche Art von Antwort-Doc es sich handelt

Hier muß doch der Wert in den Hochkommas geändert werden.
oder?

TSchau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #8 am: 13.04.04 - 13:57:26 »
Hi,

ja. Hier muß der Name der Maske rein, mit der deine Antwortdokumente erstellt werden. Der Name muss in Anführungszeichen stehen.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #9 am: 13.04.04 - 14:02:34 »
und wenn es zwei verschiedene Masken sind?


TSchau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Dokumentenexport an Word
« Antwort #10 am: 13.04.04 - 14:07:22 »
Dann kommt OR ins Spiel ...

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #11 am: 13.04.04 - 14:13:03 »
Hi,

yoo, dem ist nichts hinzuzufügen.

If tmpDoc.Form(0) = "Maske1" Or tmpDoc.Form(0) = "Maske2" Then
...


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #12 am: 14.04.04 - 09:06:30 »
Hallo,

danke erst einmal für die Hilfe!!

Ich habe das Script als Agent angelegt, und über die Aktionsleiste rufe ich denn Agent auf.

Es öffnet sich Word und er schreibt mir die Felder des Hauptdokumentes rein und die Antwortdokumente, aber er bringt mir keine Antwortdokumente auf die Antwortdokumente und wie Axel schon gesagt hat ist alles unformatiert.

Woran kann es jetzt liegen das er die Antwortdokumente des Antwortdokumentes nicht ausgegeben wird.

Gut die Formatierung denke icg bekomme ich hin,

TSchau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #13 am: 14.04.04 - 09:24:10 »
Hi,

kannst du mal den Code hier posten?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #14 am: 14.04.04 - 09:46:12 »
Ich habe den Fehler gefunden, es lag an der If abfrage.

Aber hier tut sich ein ganz anderes Problem auf und dieses Problem nennt dich Richt Text feld. Ich habe in der zweiten Antwortmaske ein Rich Text felder.

Das Problem Formatierung bekomme ich hin.

TSchau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #15 am: 14.04.04 - 10:01:58 »
Hi,

den Text kannst du mit der Methode GetFormattedText aus der Klasse NotesRichtextItem auslesen und nach Word schaufeln, allerdings auch ohne Formatierung. Für Grafiken bzw. einen formatierten Export ist mir im Moment kein Weg bekannt.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #16 am: 14.04.04 - 13:05:25 »
Mal schauen wie ich das rein bekomme, habe jetzt die Formatierung für die Rubriken, und die Überschriften für die Antwortdokumente fertige, jetzt fehlt mir nur noch der Inhaltstext aus dem RTFeld. Ich habe mir dafür mal die Designerhilfe her genommen aber irgendwie komme ich dann noch nicht so richtig klar

1. Ich muß die Klasse einbinden
2. Ich muß mit der Methode denn Inhalt lesen und dann in eine Variable Speichern
3. Der Inhalt muß an die Methode der Word Klasse übergeben werden.

Soweit denke ich sollte das gehen oder?

TSchau Ingo

P.S.: Ich glaube langsam sehe ich mit LN Script durch  ;D
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #17 am: 14.04.04 - 13:53:29 »
Hi,

so ähnlich geht's. Ich hab's hier mal beispielhaft eingebunden.


  Dim rtitem As Variant
  Dim plainText As String
...
  While Not (tmpDoc Is Nothing)
    If tmpDoc.Form(0) = "Antwort" 'Prüfung um welche Art von Antwort-Doc es sich handelt
      'Wenn Antwort auf Hauptdokument
      Call cWord.Insert(tmpdoc.Rubrik(0))
    Else
      'Wenn Antwort auf Antwort
      Call cWord.Insert(tmpdoc.Ueberschrift(0))

      Set rtitem = tmpdoc.GetFirstItem( "Text" )
      If ( rtitem.Type = RICHTEXT ) Then
         plainText = rtitem.GetFormattedText( False, 0 )
      End If
      Call cWord.Insert(plainText)

    End If
    Call BearbeiteAntworten(tmpdoc) 'Rekursiver Aufruf
    Set tmpDoc = responses.GetNextDocument(tmpDoc)
  Wend
...

Axel
« Letzte Änderung: 14.04.04 - 13:57:26 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tuxie

  • Senior Mitglied
  • ****
  • Beiträge: 381
  • Geschlecht: Männlich
  • Lieber Sinn als Unsinn !!!
    • offizielles Stadtinformations.
Re:Dokumentenexport an Word
« Antwort #18 am: 14.04.04 - 13:54:14 »
Irgendwie brauche ich doch nochmal hilfe,

was muß ich jetzt alles noch aufnehmen?
um die Methode GetFormattedText zu benutzen und wie stelle ich es jetzt wirklich an.


Mhh ich glaub es ist besser ich genieße das schöne Wetter.

Ich sehe nämlich vor laute Wald keine Bäume mehr ???

TSchau Ingo
2x Domino R5.011 on Linux
85 Users Notes R5.0.10 on WIN NT4SP6/Win2k SP4

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokumentenexport an Word
« Antwort #19 am: 14.04.04 - 13:58:10 »
Hi,

schau mal mein voriges Posting.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz