🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Schaltfläche in Formular für Mail und für Homepage (gelöst)
Schaltfläche in Formular für Mail und für Homepage (gelöst)
Hallo,
ich habe eine Adressdatenbank, die unter anderem E-Mailanschriften und Homepageadressen enthält. Im Formular sind entsprechende Felder für E-mail und Homepage. Ich möchte nun im Formular Schaltflächen einbauen, die bei Klick Thunderbird bzw. Firefox mit den entsprechenden Adressen öffnen (oder eben Standardmailprogramm bzw. Standardbrowser). Irgendwelche Automatismen für Betreff, Anrede, Anhang etc. brauche ich nicht. Ich arbeite mit Mac Lion.
Ich bin völlig ahnungslos, was Makros betrifft. Bitte also eine Schritt-für-Schritt-Erklärung für Dummies. Danke! Alles, was ich bisher gefunden habe, hat - sicher wegen meiner Unbedarftheit - nicht funktioniert.
Tim
ich habe eine Adressdatenbank, die unter anderem E-Mailanschriften und Homepageadressen enthält. Im Formular sind entsprechende Felder für E-mail und Homepage. Ich möchte nun im Formular Schaltflächen einbauen, die bei Klick Thunderbird bzw. Firefox mit den entsprechenden Adressen öffnen (oder eben Standardmailprogramm bzw. Standardbrowser). Irgendwelche Automatismen für Betreff, Anrede, Anhang etc. brauche ich nicht. Ich arbeite mit Mac Lion.
Ich bin völlig ahnungslos, was Makros betrifft. Bitte also eine Schritt-für-Schritt-Erklärung für Dummies. Danke! Alles, was ich bisher gefunden habe, hat - sicher wegen meiner Unbedarftheit - nicht funktioniert.
Tim
Zuletzt geändert von Tim am Sa 28. Jul 2012, 10:10, insgesamt 1-mal geändert.
Libre Office 6.0.2.1 - Mac OS 10.14
Re: Schaltfläche in Formular für Mail und für Homepage
Hallo Tim,
Die benötigten Makros für die Schaltfläche findest Du hier:
http://www.libreoffice-forum.de/viewtop ... =10#p14352 und nachfolgende Beiträge.
Und auch hier:
http://www.libreoffice-forum.de/viewtop ... 857#p14333 und nachfolgende Beiträge.
Das Makro wird den Schaltflächen-Eigenschaften zugeordnet unter Reiter (Karteikarte) "Ereignisse" - "Aktion ausführen". Damit sollte es klappen.
Gruß harald
Die benötigten Makros für die Schaltfläche findest Du hier:
http://www.libreoffice-forum.de/viewtop ... =10#p14352 und nachfolgende Beiträge.
Und auch hier:
http://www.libreoffice-forum.de/viewtop ... 857#p14333 und nachfolgende Beiträge.
Das Makro wird den Schaltflächen-Eigenschaften zugeordnet unter Reiter (Karteikarte) "Ereignisse" - "Aktion ausführen". Damit sollte es klappen.
Gruß harald
Re: Schaltfläche in Formular für Mail und für Homepage
Hallo,
habe es hinbekommen. Danke! Danke auch an RobertG für dieses wunderbare Makro:
Bei
Ich habe daraus zwei Makros gemacht, ein Makro mit dem Feldnamen der Webadresse, und ein zweites mit dem Feldnamen der Mailanschrift. Dazu zwei Buttons für Mail und Homepage mit der Eigenschaft:
Aktion ausführen -> entsprechendes Makro zuweisen.
Tim
habe es hinbekommen. Danke! Danke auch an RobertG für dieses wunderbare Makro:
Code: Alles auswählen
SUB Website_Aufruf
REM Aufruf einer Website oder des Mailprogramms mit einer vorgegebenen Mailadresse
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oShell AS OBJECT
DIM stFeld AS STRING
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oForm = oDrawpage.Forms.getByName("Formular")
oFeld = oForm.getByName("Webadresse")
REM Den Text aus der Dateiauswahl auslesen
stFeld = oFeld.Text
IF stFeld = "" THEN
EXIT SUB
END IF
IF InStr(stFeld,"@") THEN
stFeld = "mailto:"+stFeld
ELSEIF InStr(stFeld,"http://") THEN
stFeld = convertToUrl(stFeld) 'convertToUrl erkennt, dass mit http:// bereits eine Verbindung vorgegeben ist. file:/// wird nicht gesetzt
ELSE
stFeld = "http://"+stFeld
stFeld = convertToUrl(stFeld) 'convertToUrl erkennt, dass mit http:// bereits eine Verbindung vorgegeben ist. file:/// wird nicht gesetzt
END IF
REM Start des Files mit der entsprechenden URL-Verbindung
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
oShell.execute(stFeld,,0)
END SUB
müssen entsprechend der Name des Formulars und des Feldes, in dem die Webadresse steht, eingefügt werden.oForm = oDrawpage.Forms.getByName("Formular")
oFeld = oForm.getByName("Webadresse")
Ich habe daraus zwei Makros gemacht, ein Makro mit dem Feldnamen der Webadresse, und ein zweites mit dem Feldnamen der Mailanschrift. Dazu zwei Buttons für Mail und Homepage mit der Eigenschaft:
Aktion ausführen -> entsprechendes Makro zuweisen.
Tim
Libre Office 6.0.2.1 - Mac OS 10.14
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo,
Ist ja interessant. Mal angenommen ich hätte in meiner Datenbank ein Feld mit der Emailadresse, und ich möchte z.B. zu Ostern allen Kunden "Fohe Ostern wünschen" (Thunderbird), das funktioniert mit diesem Makro ?
Es müssten dann Serienmails mit Betreff und Nachricht versendet werden. Betreff und Nachricht müssen ja vorher definiert werden. Per Filter müsste dann vorher festgestellt werden, welcher Kunde überhaupt eine Emailadresse angegeben hat. Auch besteht die Möglichkeit das es Kunden gibt die solche Mails gar nicht empfangen möchten. Die müssten dann auskgeklammert werden. Und natürlich das Zusammenspiel mit Thunderbird sollte einwandfrei funktionieren. Das stelle ich mir alles sehr kompliziert vor. Noch ist das nicht aktuell für mich, wurde aber schon als Wunsch für die Zukunft geäußert.
Gruß Gundo
Ist ja interessant. Mal angenommen ich hätte in meiner Datenbank ein Feld mit der Emailadresse, und ich möchte z.B. zu Ostern allen Kunden "Fohe Ostern wünschen" (Thunderbird), das funktioniert mit diesem Makro ?
Es müssten dann Serienmails mit Betreff und Nachricht versendet werden. Betreff und Nachricht müssen ja vorher definiert werden. Per Filter müsste dann vorher festgestellt werden, welcher Kunde überhaupt eine Emailadresse angegeben hat. Auch besteht die Möglichkeit das es Kunden gibt die solche Mails gar nicht empfangen möchten. Die müssten dann auskgeklammert werden. Und natürlich das Zusammenspiel mit Thunderbird sollte einwandfrei funktionieren. Das stelle ich mir alles sehr kompliziert vor. Noch ist das nicht aktuell für mich, wurde aber schon als Wunsch für die Zukunft geäußert.
Gruß Gundo
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo Gundo,
Was Du suchst, das ist etwas, das neben der Adresse an viele andere Adressen geht. Und das muss speziell auf Mails zugeschnitten sein. Hier hilft dann der folgende Weg:
Du siehst zu Beginn, was Du alles an den Mailaufruf anhängen kannst. Etwas problematisch bei einem Rundbrief ist natürlich die Geschichte mit den vielen Mailadressen, die dann an alle möglichen Leute gehen. Am besten machst Du also eine Feld in Dein Formular, in dem durch Abfrage nur Deine Mailadresse liegt und alle anderen kommen, durch Komma getrennt, in ein Feld, das als "bcc" eingelesen wird.
Gruß
Robert
Wenn Du direkt eine Mail per Base erstellen willst, ist das vorliegende Makro nicht das, was Du suchst. Das Makro öffnet bei einem Klick auf die Mailadresse direkt Deinen Thunderbird und setzt die Adresse dort als Adressaten ein. Genauso kannst Du das Makro nutzen, um mit Firefox und einer Webadresse ins Netz zu gehen.Gundo hat geschrieben: Ist ja interessant. Mal angenommen ich hätte in meiner Datenbank ein Feld mit der Emailadresse, und ich möchte z.B. zu Ostern allen Kunden "Fohe Ostern wünschen" (Thunderbird), das funktioniert mit diesem Makro ?
Es müssten dann Serienmails mit Betreff und Nachricht versendet werden. Betreff und Nachricht müssen ja vorher definiert werden. Per Filter müsste dann vorher festgestellt werden, welcher Kunde überhaupt eine Emailadresse angegeben hat. Auch besteht die Möglichkeit das es Kunden gibt die solche Mails gar nicht empfangen möchten. Die müssten dann auskgeklammert werden. Und natürlich das Zusammenspiel mit Thunderbird sollte einwandfrei funktionieren. Das stelle ich mir alles sehr kompliziert vor. Noch ist das nicht aktuell für mich, wurde aber schon als Wunsch für die Zukunft geäußert.
Was Du suchst, das ist etwas, das neben der Adresse an viele andere Adressen geht. Und das muss speziell auf Mails zugeschnitten sein. Hier hilft dann der folgende Weg:
Code: Alles auswählen
SUB Mail_Aufruf
REM Mailaufruf mit mailto:Empfänger?subject=...&body=...&cc=...&bcc=...
REM Die letzten beiden Eingaben sind im Formular nicht aufgeführt
REM Anhänge sind laut Definition von "mailto" nicht definiert. Manchmal funktioniert allerdings "attachment="
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld1 AS OBJECT
DIM oFeld2 AS OBJECT
DIM oFeld3 AS OBJECT
DIM oFeld4 AS OBJECT
DIM oShell AS OBJECT
DIM stFeld1 AS STRING
DIM stFeld2 AS STRING
DIM stFeld3 AS STRING
DIM stFeld4 AS STRING
oDoc=thisComponent
oDrawpage=oDoc.Drawpage
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oForm=oDrawpage.Forms.getByName("Formular")
oFeld1=oForm.getByName("E_Mail_Adresse")
oFeld2=oForm.getByName("E_Mail_Betreff")
oFeld3=oForm.getByName("E_Mail_Inhalt")
stFeld1=oFeld1.Text
IF stFeld1 = "" THEN
msgbox "Keine Mailadresse vorhanden." & CHR(13) & "Das Mailprogramm wird nicht aufgerufen" , 48, "Mail senden"
EXIT SUB
END IF
REM Die Konvertierung zu URL ist notwendig, da sonst Sonderzeichen und Zeilenumbrüche nicht übernommen werden
REM Die überflüssigen Einträge file:/// werden dabei wieder herausgeschnitten
stFeld2=Mid(ConvertToUrl(oFeld2.Text),9)
stFeld3=Mid(ConvertToUrl(oFeld3.Text),9)
REM Start des Files mit der entsprechenden URL-Verbindung
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
oShell.execute("mailto:"+stFeld1+"?subject="+stFeld2+"&body="+stFeld3,,0)
END SUB
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo Robert,
Danke für die Info. Ich hoffe das die Serienmailfunktion in nächster Zeit nicht eingebaut werden muß. Mir ist das doch etwas zu tricky.
Gruß Gundo
Danke für die Info. Ich hoffe das die Serienmailfunktion in nächster Zeit nicht eingebaut werden muß. Mir ist das doch etwas zu tricky.
Gruß Gundo
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo Gemeinde,
ich arbeite an einer Mitgliederverwaltung und stehe nun vor diesem Problem.
Eine Email an einzelne Mitglieder kann ich mit Hilfe der hier bereits aufgezeigten Wege verschicken, nun würde ich gerne einen Button einbauen, der meine Emailsoftware öffnet und alle vorhandenen Emailadressen einfügt.
Dazu müsste ich im Grunde ja nur die Spalte auslesen, in denen die Emailadressen der Mitglieder hinterlegt sind und diese dann bei hinter "mailto:" statt stFeld1 einfügen.
Nur kann ich suchen wie ich will, ich finde keine Möglichkeit, sämtliche Emailadressen auszulesen. Hilft hier eine besondere Formulierung von findColumn? Oder gehe ich das mit einer Schleife an?
Hat jemand eine Idee und kann mir Helfen?
ich arbeite an einer Mitgliederverwaltung und stehe nun vor diesem Problem.
Eine Email an einzelne Mitglieder kann ich mit Hilfe der hier bereits aufgezeigten Wege verschicken, nun würde ich gerne einen Button einbauen, der meine Emailsoftware öffnet und alle vorhandenen Emailadressen einfügt.
Dazu müsste ich im Grunde ja nur die Spalte auslesen, in denen die Emailadressen der Mitglieder hinterlegt sind und diese dann bei
Code: Alles auswählen
oShell.execute("mailto:"+stFeld1+"?subject="++"&body="+,,0)
Nur kann ich suchen wie ich will, ich finde keine Möglichkeit, sämtliche Emailadressen auszulesen. Hilft hier eine besondere Formulierung von findColumn? Oder gehe ich das mit einer Schleife an?
Hat jemand eine Idee und kann mir Helfen?
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo Meile,
die verschiedenen Adressen kannst Du am besten per SQL direkt auslesen. Mit der aktuellen Spalte erwischt Du nur den Datensatz, der gerade im Formular angezeigt wird. Das ist dann so etwas wie
Allerdings würde ich folgenden Fehler nicht machen, den alle mir bekannten Behörden machen: Sämtliche Empfänger ins CC oder gar noch als direkten ersten Mailempfänger aufschreiben. Die eigenen Mailadresse als Empfänger und alle anderen Adressaten nach bcc schreiben ist da wohl angebrachter.
Edit1: Ich habe den Code geändert, da der Trenner zwischen den Mails in der Regel ein Komma sein muss, kein Semikolon. Siehe dazu den nachfolgenden Beitrag.
Gruß
Robert
die verschiedenen Adressen kannst Du am besten per SQL direkt auslesen. Mit der aktuellen Spalte erwischt Du nur den Datensatz, der gerade im Formular angezeigt wird. Das ist dann so etwas wie
Code: Alles auswählen
If NOT (oDatenquelle.isConnected()) Then
oDatenquelle.connect()
End If
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement()
stSql = "SELECT ""Mailadresse"" FROM ""Name""
oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql)
stFeld1 = ""
WHILE oAbfrageergebnis.next
stMail = oAbfrageergebnis.getString(1) + "," ' Der normale Trenner von mailto ist ein Komma. Es soll auch Programme geben, die an dieser Stelle nur mit einem Semikolon funktionieren - bitte vorher testen.
stFeld1 = stFeld1 + stMail
WEND
Edit1: Ich habe den Code geändert, da der Trenner zwischen den Mails in der Regel ein Komma sein muss, kein Semikolon. Siehe dazu den nachfolgenden Beitrag.
Gruß
Robert
Zuletzt geändert von RobertG am Mi 9. Apr 2014, 19:40, insgesamt 1-mal geändert.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo Robert,
vielen Dank für die Hilfe, das funktioniert jetzt ohne Probleme. Musste nochmal etwas tüfteln, da zu Beginn immer nur eine Adresse im Emailprogramm auftauchte, nachdem ich aber darauf gekommen bin, das Semikolon durch ein Komma zu ersetzen, klappt das jetzt prima. Habe die Mitglieder auch bcc gesetzt. Fantastisch.
Nochmals vielen Dank!
Freundliche Grüße
Meile
vielen Dank für die Hilfe, das funktioniert jetzt ohne Probleme. Musste nochmal etwas tüfteln, da zu Beginn immer nur eine Adresse im Emailprogramm auftauchte, nachdem ich aber darauf gekommen bin, das Semikolon durch ein Komma zu ersetzen, klappt das jetzt prima. Habe die Mitglieder auch bcc gesetzt. Fantastisch.
Nochmals vielen Dank!
Freundliche Grüße
Meile
Re: Schaltfläche in Formular für Mail und für Homepage (gelö
Hallo Meile,
gut dass es mit dem Komma klappt. Ich hatte das nicht so auf dem Schirm. Soll aber Mailprogramme geben, die auf ein Komma nicht richtig reagieren. ich habe gerade noch im Netz von einer der Outlook-Versionen gelesen, die das nicht standardkonforme Semikolon haben will.
Wichtig ist ja, dass es erst einmal in Deinem Bereich klappt. Ich werde jetzt noch meinen Code aus dem vorhergehenden Beitrag ändern - falls jemand darüber stolpert und nicht den ganzen Thread liest ...
Gruß
Robert
gut dass es mit dem Komma klappt. Ich hatte das nicht so auf dem Schirm. Soll aber Mailprogramme geben, die auf ein Komma nicht richtig reagieren. ich habe gerade noch im Netz von einer der Outlook-Versionen gelesen, die das nicht standardkonforme Semikolon haben will.
Wichtig ist ja, dass es erst einmal in Deinem Bereich klappt. Ich werde jetzt noch meinen Code aus dem vorhergehenden Beitrag ändern - falls jemand darüber stolpert und nicht den ganzen Thread liest ...
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.