Lotus Notes / Domino Sonstiges > Tools & Downloads
Etiketten drucken aus dem NAB
m3:
Word 2003 (11)
Word 2007 {nicht Vista} (12)
Johnson:
Merci. Jetzt bin ich im Bilde.
Das Problem ist, daß die Methode OpenDataSource unter Word Version 9.0 anders läuft als unter 10.0. Unter 9.0 enthält der Connection-Parameter den Namen der Tabelle, die die Quelldaten enthält. Unter 10.0 kann dieser Parameter leer sein (sofern man die Datei angegeben hat) und in den SQLStatement-Parameter z.B. "SELECT * FROM `Tabelle1$`" muss.
Der Agent "(Korrespondenz\Brief)|ComposeLetter" der Letter Engine enthält im Script "Initialize" das Kommentar "link to data source" (Zeile 120 ca). Dort wird die Versionsabfrage gemacht, da unter Word 2000 die Verknüpfung der Datenquelle noch etwas anders läuft.
Die Zeile
--- Code: ---Elseif word.Version = wdXP Then
--- Ende Code ---
in folgende Zeile abändern:
--- Code: ---Elseif word.Version = wdXP Or word.Version = "11.0" Or word.Version = "12.0" Then
--- Ende Code ---
fsinani:
Hallo Johnson,
ich bin begeistert. Das ist wirklich mal ein Tool, was man binnen einiger Minuten lauffähig auf dem Server hat und vor allem brauch ich nicht mehr mühsam ExcelExport agents zu schreiben :-)
Vielen Dank
fsinani
Johnson:
Hi Kinnings,
hab nen Bug gefunden:
Enthät die Wordvorlage (*.dot) nur ein MergeField kommt es beim Erstellen eines Briefes zum Fehler "Variant does not contain a container".
Problem:
Range.Value in Excel ist bei mehreren Zellen ein Array und bei einer Zelle ein leerer Variant.
Athock-Bugfix:
Agent "(Korrespondenz\Brief)|ComposeLetter" der Letter Engine öffnen.
Procedur Initialize öffnen.
Im Bereich "### create data source ###" in Zeile 71 ca. die Zeilen
--- Code: ---If Isarray(var_eval) Then
var_row(1, int_column) = Join(CString(var_eval), Chr(10))
Else
If Isempty(var_eval) Then var_row(1, int_column) = "" Else var_row(1, int_column) = var_eval
End If
--- Ende Code ---
ändern in
--- Code: ---If Isarray(var_eval) Then var_eval = Join(CString(var_eval), Chr(10))
If Isempty(var_eval) Then var_eval = ""
If Isarray(var_row) Then var_row(1, int_column) = var_eval Else var_row = var_eval
--- Ende Code ---
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln