Domino 9 und frühere Versionen > Entwicklung
Adressenetiketten aus LN erstellen
Axel:
Hi,
schau die mal die Maske an. Da gibt es einen Eintrag other (Feldname other). Das was da drin steht wird als Anrede benutzt.
Axel
Xantox:
Guten Morgen Axel,
das stimmt. Ich habe aber den Code+Ansichten von eknori genommen und alles in eine normale 6.0er Adressdatenbankschablone gepackt.
Dort habe ich das Feld "Titel" in dem folgende Werte vordefiniert sind:
"Herr | Mr."
"Frau | Mrs."
etc.....
Und genau hier nimmt er mir immer nur das "Mr."
Falls es nicht klappt, habe ich mir gedacht, das ich dann aus
"Herr | Mr."
einfach:
"Herr"
"Mr. "
mache....
Grüße Xantox
Axel:
Hi,
du benutzt in deinem Feld Aliase. D.h. bei "Herr | Mr." sieht der User in der Maske Herr, im Feld selbst steht aber Mr. Liest du das FEld mit Frontend-Methoden aus, erhält du alas Inhalt Herr und wenn du mit Backend-Methoden das Feld ausliest bekommst du Mr.
In eknori's Script werden Backend-Funktionen verwendet. Deswegen erhälst du Mr.
Meines Erachtens macht es hier keinen Sinn mit Aliasen zu arbeiten.
Axel
Xantox:
Danke Dir für die Erklärung.
Das mit den Backend & Frontend Methoden wusste ich nicht.
Ich habe jetzt die Aliase weggemacht und habe pro Zeile nur einen Eintrag wie zb. "Herr" - jetzt funktionierts auch :)
Grüße Stefan
ajo:
Hm, wollt mir mal wieder was bei euch klauen und kriegs nicht gebacken.
Bei mir startet Word mit der Adressetiketten Vorlage und öffnet zusätzlich
ein leeres Worddokument. Wenn ich die Aktion PrintLabels nochmals aufrufe
hab ich 4 Dokumente offen usw. Hier meine geklaute Scriptbibliothek:
Sub CreateMailingLabels(Line1Fields As Variant ,_
Line2Fields As Variant ,_
Line3Fields As Variant ,_
Line4Fields As Variant ,_
Line5Fields As Variant ,_
Skip As Variant ,_
ColCount As Integer ,_
LabelTemplate As String)
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As notesdatabase
Dim doc As NotesDocument
Dim dc As NotesDocumentCollection
Dim wrd As Variant
Dim LabelCount As Long
Dim DivMod As Integer
cr = Chr ( 13 ) & Chr ( 10 )
wdCell = 12
LabelCount=1
DivMod = 1
Set db = s.CurrentDatabase
Set dc=db.UnProcessedDocuments
Set wrd = CreateObject ( "Word.Application" )
On Error Resume Next
Set objWord = GetObject("", "Word.Application")
If Err = 208 Then ' Fehler 208 tritt auf wenn Word noch nicht läuft
Err = 0
Set objWord = CreateObject("Word.Application")
objWord.Visible = True 'Word sichtbar machen
End If
Call wrd.Documents.Add
Call wrd.MailingLabel.CreateNewDocument ( LabelTemplate )
wrd.visible = True
Set doc=dc.GetFirstDocument
While Not doc Is Nothing
LabelAddress = GetListFieldValues ( doc , Line1Fields ) & cr '// Build label text
LabelAddress = LabelAddress & GetListFieldValues ( doc , Line2Fields ) & cr
LabelAddress = LabelAddress & GetListFieldValues ( doc , Line3Fields ) & cr
LabelAddress = LabelAddress & GetListFieldValues ( doc , Line4Fields ) & cr
LabelAddress = LabelAddress & GetListFieldValues ( doc , Line5Fields )
If Not SingleColumn% Then
Call wrd.Selection.TypeText ( LabelAddress ) '// Insert Label Text
On Error Goto TrapSingleColumn
If Skip = False Then
Call wrd.Selection.MoveRight ( wdCell ) ' Move one cell to the right.
Else
If DivMod = 0 Then
Call wrd.Selection.MoveRight ( wdCell ) ' Move one cell to the right.
Else
Call wrd.Selection.MoveRight ( wdCell ) ' Move one cell to the right.
Call wrd.Selection.MoveRight ( wdCell ) ' Move one cell to the right.
End If
End If
If SingleColumn% Then
Call wrd.MailingLabel.CreateNewDocument ( LabelTemplate , LabelAddress )
End If
Else
Call wrd.MailingLabel.CreateNewDocument ( LabelTemplate , LabelAddress )
End If
LabelCount = LabelCount + 1
If ColCount = 2 Then
DivMod = 1
Else
DivMod = Labelcount Mod ColCount
End If
Set doc = dc.GetNextDocument ( doc )
Wend
Exit Sub
TrapSingleColumn:
SingleColumn% = True
Resume Next
End Sub
Wär nett wenn mir einer auf die Sprünge helfen könnte.
Danke Alex
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln