Autor Thema: Notes -> Word OLE oder NotesSQL?  (Gelesen 1385 mal)

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Notes -> Word OLE oder NotesSQL?
« am: 17.01.07 - 15:21:39 »
Hallo Zusammen

Wie ich heute in einem Codebeispiel gesehen habe, scheint es ganz einfach zu sein Formulardaten in eine WordDatei zu senden.

Bisher habe ich Daten von Notes via NotesSQL und ODBC in Word geholt. Z.B. mache ich dies bei einer ERP Applikation so. Dies hat Vor und Nachteile. Vorteil ist, dass schnell neue Vorlagen erstellt werden können, da Word die Daten über ODBC holt und in Notes keine zusätzliche Konfiguration nötig ist. Weniger schön ist es mit NotesSQL, dass die Installation sehr Maschinenabhängig ist und nur mühevoll von mehreren Leuten verwendet werden kann.

Schön ist, dass Notes direkt eine Rechnung anhand einer Wordvorlage erstellen kann. Dies ohne Notes SQL.

* Im Codebeispiel greift Notes auf die Vorlage im Folder C zu. Ist es möglich, dass die Vorlage gleich in einem Dokument gespeichert wird, so dass keine Folderstruktur nötig ist?

* Kann das erstellte Worddokument per Vorlage direkt in das Offene Notes Dokument importiert werden, oder braucht es einen Umweg über einen temporären Ordner (Automatischer Filesave und dann Import)?

* Ich möchte die Dokumente als PDF schliesslich haben. Dazu verwende ich FreePDF, um via virtuellen Drucker PDFs zu erstellen. Kann direkt ein PDF im dynamisch erzeugten Dateinamen erstellt werden und ebenfalls Importiert / gedruckt werden?

Schön wäre, wenn per Knopfdruck eine PDF Offerte direkt in den Auftrag in Notes eingefügt werden würde.

Danke für eure Hilfe!
Grüsse
Manuel

Notes zu Word:
Code
Sub Initialize
	Dim officeApp As Variant
	Dim officeMainDoc As Variant
	Dim officeSel As Variant
	Dim officeFields As Variant
	Dim x As Integer
	Dim domDoc As NotesDocument
	Dim domColl As NotesDocumentCollection
	Dim domSes As New NotesSession
	Dim domDb As NotesDatabase
	
	' Setting Notes environment
	Set domDb = domSes.CurrentDatabase
	Set domColl = domDb.UnprocessedDocuments
	Set domDoc = domColl.GetFirstDocument
	
	' Setting Word enviornment
	Set officeApp = CreateObject("Word.Application.9")
	Set officeMainDoc = officeApp.Documents.Open("c:\MergeMe.doc")
	Set officeFields = officeMainDoc.FormFields
	While Not (domDoc Is Nothing)
		With domDoc
			officeFields.Item("Company").Result=.CompName(0) & Chr$(13) & .ContName(0)
			officeFields.Item("Address").Result=.CompAddress(0) 
			officeFields.Item("Zipcity").Result=.CompZip(0) & " " & .CompCity(0)
			officeFields.Item("Country").Result=.CompCountry(0)
			officeFields.Item("Today").Result=Str$(Today)
			officeFields.Item("Regarding").Result=.ContInterest(0)
		End With
	     ' Print-out
		'Call officeMainDoc.PrintOut(True)	
		Set domDoc = domColl.GetNextDocument(domDoc)		
	Wend
	
	' Quit Application / Close the connection
	' Wait for all print jobs to finish
	Print "Waiting for print jobs. No. of pending print jobs: " & Cstr(officeApp.BackgroundPrintingStatus)
	While officeApp.BackgroundPrintingStatus > 0 
		' Wait
	Wend
	Print " " ' to delete the earlier print sentence
	'Call officeApp.Quit(False)
End Sub
Quelle: http://www.eview.com/eview/viewr5.nsf/e640f630a3361f84852568f600070fd3/c4798e9fad8e706685256a55007c9563?OpenDocument
« Letzte Änderung: 17.01.07 - 17:08:28 von immanuel »
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

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: Notes -> Word OLE oder NotesSQL?
« Antwort #1 am: 17.01.07 - 15:31:40 »
Wie ich heute in einem Codebeispiel gesehen habe, scheint es ganz einfach zu sein Formulardaten in eine WorldDatei zu senden.

Es scheint nicht nur einfach zu sein, es ist sehr einfach.

Hier Klasse für Word - Automation gibt's eine Klasse mit den Grundfunktionen. Sie lässt sich sehr einfach erweitern.


* Im Codebeispiel greift Notes auf die Vorlage im Folder C zu. Ist es möglich, dass die Vorlage gleich in einem Dokument gespeichert wird, so dass keine Folderstruktur nötig ist?

Wenn das Dokument auf Basis einer Vorlage erstellt werden soll, dann muss die Vorlage auf der Platte gespeichert werden.


* Kann das erstellte Worddokument per Vorlage direkt in das Offene Notes Dokument importiert werden, oder braucht es einen Umweg über einen temporären Ordner (Automatischer Filesave und dann Import)?

Nein. Das Dokument muss erst gespeichert werden.


* Ich möchte die Dokumente als PDF schliesslich haben. Dazu verwende ich FreePDF, um via virtuellen Drucker PDFs zu erstellen. Kann direkt ein PDF im dynamisch erzeugten Dateinamen erstellt werden und ebenfalls Importiert / gedruckt werden?


Müsste funktionieren. Gemacht habe ich es noch nicht.


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

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re: Notes -> Word OLE oder NotesSQL?
« Antwort #2 am: 23.01.07 - 09:51:01 »
Hallo Zusammen

Momentan arbeite ich noch mit Serienbriefen und NotesSQL, Der Vorteil ist hier, dass ich die Datenquelle nur einmal anpassen muss (im Microsoft Query File) und dann gleich in allen Briefen per Copy Paste mit den Feldern arbeiten kann. Solange sich die Recordmenge in Grenzen hält ist es eine gute Alternative zu den OLEs. Sind aber mal ein paar Tausend Records in der DB, nehme ich an, dass die Sache langsam wird und ich lieber immer nur wenige Felder per OLE in ein Word Dokment schicke.

Grüsse
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz