Seite 1 von 1

" Macro Erweiterung "

Verfasst: Fr, 23.12.2005 12:36
von mike6
Hallo,

leider bin ich nicht der grosse Programierer.

Ich habe eine einfache Briefvorlage (kein Serienbrief).
Über eine Eingabemaske (Basic) gebe ich Anrede, Vorname, Namme .... ein.
Diese erscheinen im Brief dann an der richtigen Stelle.

Ich möchte noch folgendes erreichen:

Wenn bei Anrede = "Herr" eingegeben wird soll an der entsprechenden
Stelle "geehrter Herr" und anschließend der Name stehen.

Wenn bei Anrede = "Frau" eingegeben wird soll an der entsprechenden
Stelle "geehrte Frau" und anschließend der Name stehen.

Wenn beides nicht zutrifft, soll an der entsprechenden
Stelle "geehrte Damen und Herren" stehen.

Hier mein Quelltext:

*******************************************************************
Sub DatenInBrief
Dim oForm as Object
Dim oForms as Object
Dim oDocument as Object
Dim DocCtl as Object
Dim oObj as Object
Dim oCheckBox as Object
'Dokument holen
oDocument = thisComponent
DocCtl = oDocument.getCurrentController()
oForms = oDocument.Drawpage.Forms
'oForm = oForms.getByIndex(0)
oDoc = thisComponent
ChangeVariable(oDoc, "Anrede", oD1.getControl("TextField1").text)
ChangeVariable(oDoc, "Vorname", oD1.getControl("TextField2").text)
ChangeVariable(oDoc, "Name", oD1.getControl("TextField3").text)
ChangeVariable(oDoc, "text4", oD1.getControl("TextField4").text)
ChangeVariable(oDoc, "text5", oD1.getControl("TextField5").text)
ChangeVariable(oDoc, "text6", oD1.getControl("TextField6").text)
ChangeVariable(oDoc, "DatumIhrSchreiben", oD1.getControl("DateField1").text)
ChangeVariable(oDoc, "ZeichenIhrSchreiben", oD1.getControl("TextField10").text)
ChangeVariable(oDoc, "UnserZeichen", oD1.getControl("TextField11").text)
ChangeVariable(oDoc, "UnsereNachrichtvom", oD1.getControl("DateField2").text)
ChangeVariable(oDoc, "EMail", oD1.getControl("TextField12").text)
ChangeVariable(oDoc, "Durchwahl", oD1.getControl("TextField13").text)
ChangeVariable(oDoc, "ImAuftrag", oD1.getControl("ComboBox5").text)
ChangeVariable(oDoc, "Unterzeichner", oD1.getControl("ComboBox4").text)
ChangeVariable(oDoc, "Gemeinde", oD1.getControl("ComboBox3").text)
oDoc.TextFields.refresh()
End Sub
******************************************************************************

Wo muss ich jetzt was :oops: einfügen, wenn das Textfeld wo
" sehr geehrte(r)" rein soll,

den Namen

"persönliche_anrede" trägt ??

mfg
mike6

Verfasst: Fr, 23.12.2005 13:00
von Toxitom
Hey Mike,

wo hast du denn den Code her? Interessant wäre die Function oder sub "ChangeVariable()".
Ansosnten geht das wie folgt:
Definiere eine Variabel - z.B. sBriefAnrede - und gibt einen Vorgabetext.:

Code: Alles auswählen

dim sBriefAnrede as String
sBriefAnrede = "geehrte Damen und Herren"
Dann veränderst du die Fallweise:

Code: Alles auswählen

if oD1.getControl("TextField1").text = "Herr" then
   sBriefAnrede = "geehrter Herr " & oD1.getControl("TextField3").text
elseif oD1.getControl("TextField1").text = "Frau" then
   sBriefAnrede = "geehrte Frau " & oD1.getControl("TextField3").text
end if
Tia, und dann änderst du die Feldvariable:

Code: Alles auswählen

ChangeVariable(oDoc, "persönliche_anrede", sBreifAnrede) 
Wie gesagt, die Funktion ChangeVariabel() kenn ich nicht und kann dadurch auch nicht sagen, wie sie genau funktioniert.

Gruss
Thomas

Verfasst: Fr, 23.12.2005 18:24
von mike6
Hallo,

danke, hat geklappt. - :D -

********************************************************
** Frohe Weihnachten und einen guten Rutsch. **
********************************************************

mfg
mike6

Verfasst: Sa, 24.12.2005 17:00
von ykcim
Die Funktion ChangeVariable ist wohl von mir.

ZU finden hier:
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig236

mfg
Michael

Verfasst: Mo, 26.12.2005 09:57
von Toxitom
Hallo MIchael,

danke für den Link. Man lernt ja nie aus :wink:

Viele Grüße
Thomas