" Macro Erweiterung "

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

" Macro Erweiterung "

Beitrag 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
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag 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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

Beitrag von mike6 »

Hallo,

danke, hat geklappt. - :D -

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

mfg
mike6
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Die Funktion ChangeVariable ist wohl von mir.

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

mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hallo MIchael,

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

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten