🙏 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. 🤗
[gelöst] Email mit Datenübergabe aus einem Base-Formular
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo Robert,
nun habe ich einiges versucht und recherchiert, ein weiterführendes Ergebnis jedoch nicht gefunden. In den "RFC 2368 - The mailto URL scheme" http://www.faqs.org/rfcs/rfc2368.html ist die Möglichkeit eines Attachements auch nicht aufgeführt.
Eigentlich war es mir auch nur ""sportlicher Ehrgeiz", denn für meine Belange reicht die Übergabe der Email-Adresse, Betreff und die Anrede völlig aus. Ob ich den Anhang - der bei mir immer unterschiedlich ist - nun in meiner DB, oder in Thunderbird eintippe, ist Nebensache, denn den speichere ich nicht ab.
Wenn es tatsächlich mal gebraucht wird, Anhänge über die DB mitzuschicken, dann funktioniert der Lösungsweg von Gino sehr gut.
Da Deiner eleganter und vielseitiger ist, gefällt er mir besser und ich nutze ihn.
Gruß harald
nun habe ich einiges versucht und recherchiert, ein weiterführendes Ergebnis jedoch nicht gefunden. In den "RFC 2368 - The mailto URL scheme" http://www.faqs.org/rfcs/rfc2368.html ist die Möglichkeit eines Attachements auch nicht aufgeführt.
Eigentlich war es mir auch nur ""sportlicher Ehrgeiz", denn für meine Belange reicht die Übergabe der Email-Adresse, Betreff und die Anrede völlig aus. Ob ich den Anhang - der bei mir immer unterschiedlich ist - nun in meiner DB, oder in Thunderbird eintippe, ist Nebensache, denn den speichere ich nicht ab.
Wenn es tatsächlich mal gebraucht wird, Anhänge über die DB mitzuschicken, dann funktioniert der Lösungsweg von Gino sehr gut.
Da Deiner eleganter und vielseitiger ist, gefällt er mir besser und ich nutze ihn.
Gruß harald
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo,
wenn ich diesen Thread aus der Versenkung hole - nun, ich stehe gerade quasi vor der umgekehrten Aufgabenstellung, also Daten aus E-Mails (emfangen mit Thunderbird) in eine Datenbank (MySQL, via LibreOfffice -> ODBC) übernehmen. Sind hier Leute mit einschlägigen Erfahrungen an Bord?
Ich bin erst beim Aufbau der Datenbank, fange mal mit einer Tabelle "lieferanten" an.
Hintergrund: Mein Bestreben, System in das Chaos zu bringen, das sich aus einigen Bestellungen in letzter Zeit entwickelt hat - Suche im Netz nach dem Artikel und dem günstigsten Anbieter (Preisunterschiede von 200 ... 400% sind da keine Seltenheit) -> Online-Bestellung, und dann wirst du mit Mails bombardiert ... 
Letztens schon mal kurz die Übersicht verloren (mein gegenwärtig meistens beanspruchter "Lieferant" ist amazon
- aber bei wem man das dann letzlich bestellt hat, und wer's dann liefert) ... Hab' also schon mal einen Artikel zweimal bestellt.
Und das jetzt nur als Privatmann - bis es richtig losgeht mit meiner angestrebten Selbstständigkeit, muss eine Datenbank mit dem "richtigen" Programm darüber stehen - wo man sich halt auch fix mal was dazuprogrammieren kann. Deshalb hab' ich die Suche nach einer "gescheiten" Buchhaltungssoftware für Linux aufgegeben, jetzt wird gebastelt. (Schaunmerdochmal - Anwendungsprogrammierung auf der Basis von relationalen Datenbanken war schließlich etliche Jährchen mein Broterwerb - kann doch noch nicht alles verlernt haben.)
Wo ich auch noch etwas unschlüssig bin: Macht sich das besser mit LibreOffice - Makros oder lieber gleich mit Shell-Scripten ...
wenn ich diesen Thread aus der Versenkung hole - nun, ich stehe gerade quasi vor der umgekehrten Aufgabenstellung, also Daten aus E-Mails (emfangen mit Thunderbird) in eine Datenbank (MySQL, via LibreOfffice -> ODBC) übernehmen. Sind hier Leute mit einschlägigen Erfahrungen an Bord?
Ich bin erst beim Aufbau der Datenbank, fange mal mit einer Tabelle "lieferanten" an.


Letztens schon mal kurz die Übersicht verloren (mein gegenwärtig meistens beanspruchter "Lieferant" ist amazon


Und das jetzt nur als Privatmann - bis es richtig losgeht mit meiner angestrebten Selbstständigkeit, muss eine Datenbank mit dem "richtigen" Programm darüber stehen - wo man sich halt auch fix mal was dazuprogrammieren kann. Deshalb hab' ich die Suche nach einer "gescheiten" Buchhaltungssoftware für Linux aufgegeben, jetzt wird gebastelt. (Schaunmerdochmal - Anwendungsprogrammierung auf der Basis von relationalen Datenbanken war schließlich etliche Jährchen mein Broterwerb - kann doch noch nicht alles verlernt haben.)

Wo ich auch noch etwas unschlüssig bin: Macht sich das besser mit LibreOffice - Makros oder lieber gleich mit Shell-Scripten ...
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo wodim,
ein neuer Thread wäre vermutlich besser, aber hier einmal kurz ein paar Hinweise zum Nachdenken:
Du möchtest Inhalte aus Mails auslesen. Das dürfte wegen der Struktur einzelner Mails problemlos gehen, solange es nur um den Unterschied von Sender, Empfänger, Betreff und ASCII-Inhalt handelt. Sobald eine *.pdf-Datei daran hängt kannst Du den Inhalt vergessen. Sämtliche Bildchen werden nicht einfach so in die Datenbank übernommen. Und wie Du mehrere Mails auf einmal entsprechend aus den per Thunderbird empfangenen Mails extrahieren kannst - damit habe ich mich auch noch nicht beschäftigt.
Das Auseinanderziehen der Daten würde ich mit der Variante machen, mit der ich am vertrautesten bin. Wenn Du auf Shellebene daraus eine *.csv-Datei mit entsprechenden Feldern produzieren kannst, dann ist das Einlesen über Basic-Makros ein Klacks. Auch da habe ich noch nichts probiert.
Den zweiten Anhaltspunkt habe ich bei ODBC und Linux zusammen mit MySQL. Zumindest bei *.rpm-basierten Distributionen scheint es da zur Zeit empfindliche Probleme mit dem Kontakt über ODBC zu geben. Sobald ich auch eine MariaDB oder MySQL-Datenbank zugreifen möchte stürzt LO gnadenlos ab. Bis zur Anmeldung geht das noch gut ...
Gruß
Robert
ein neuer Thread wäre vermutlich besser, aber hier einmal kurz ein paar Hinweise zum Nachdenken:
Du möchtest Inhalte aus Mails auslesen. Das dürfte wegen der Struktur einzelner Mails problemlos gehen, solange es nur um den Unterschied von Sender, Empfänger, Betreff und ASCII-Inhalt handelt. Sobald eine *.pdf-Datei daran hängt kannst Du den Inhalt vergessen. Sämtliche Bildchen werden nicht einfach so in die Datenbank übernommen. Und wie Du mehrere Mails auf einmal entsprechend aus den per Thunderbird empfangenen Mails extrahieren kannst - damit habe ich mich auch noch nicht beschäftigt.
Das Auseinanderziehen der Daten würde ich mit der Variante machen, mit der ich am vertrautesten bin. Wenn Du auf Shellebene daraus eine *.csv-Datei mit entsprechenden Feldern produzieren kannst, dann ist das Einlesen über Basic-Makros ein Klacks. Auch da habe ich noch nichts probiert.
Den zweiten Anhaltspunkt habe ich bei ODBC und Linux zusammen mit MySQL. Zumindest bei *.rpm-basierten Distributionen scheint es da zur Zeit empfindliche Probleme mit dem Kontakt über ODBC zu geben. Sobald ich auch eine MariaDB oder MySQL-Datenbank zugreifen möchte stürzt LO gnadenlos ab. Bis zur Anmeldung geht das noch gut ...
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: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Ok, da isser:RobertG hat geschrieben:Hallo wodim,
ein neuer Thread wäre vermutlich besser,
http://www.libreoffice-forum.de/viewtop ... 10&t=12300
-
- * LO-Experte *
- Beiträge: 833
- Registriert: Fr 28. Mär 2014, 10:41
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo,
da ich dieses Makro für Mailerstellung auch gerne hätte, kämpfe ich mit dem Code.
Da meine Mailadresse aus einem Tabellen-Steuerelement geholt werden muß, habe ich ihn angepaßt mit findcolumn.
Mein Makro sieht bisher so aus:
Wenn ich den bisherigen Dialog richtig verstanden habe, muß ich nicht zwischen den Betriebssystemen unterscheiden, wenn ich oShell.execute verwende. Attachment und Anrede brauche ich nicht, daher auch auskommentiert.
Mein akutes Problem ist: Ich bekomme die Fehlermeldung
Gruß
Freischreiber
da ich dieses Makro für Mailerstellung auch gerne hätte, kämpfe ich mit dem Code.
Da meine Mailadresse aus einem Tabellen-Steuerelement geholt werden muß, habe ich ihn angepaßt mit findcolumn.
Mein Makro sieht bisher so aus:
Code: Alles auswählen
Sub Mailerstellen
Dim oDoc as Object
DIM oForm as Object
DIM oSubForm_Tel as Object
DIM sEmpf as String
DIM sBetreff as String
'DIM sAnred as String
DIM sMail_Adr as String
DIM intKontakttyp as Integer
'DIM attA as String
'DIM OS
' Betriebsystem feststellen
' OS = GetGUIType()
' if OS = 1 then MsgBox "Du arbeitest in Windows"
' if OS = 2 then MsgBox "Du arbeitest mit' nem Mac"
' if OS = 3 then MsgBox "Du arbeitest in Linux/Unix"
' auf Formulare zugreifen
oDoc = thisComponent
'oForm = oDoc.drawpage.forms.getbyindex(0)
oForm = oDoc.drawpage.forms.getbyName("MainForm")
oSubForm_Tel = oForm.getByName("FormKontakt")
'auf Formularfeld in SubFormTel zugreifen
'sMail_Adr = oSubForm_Tel.getByName("EmailAdress").Text
sMail_Adr = oSubForm_Tel.getString(oSubForm_Tel.findcolumn("TextField1"))
intKontakttyp = oSubForm_Tel.getint(oSubForm_Tel.findcolumn("NumericField1"))
If intKontakttyp <> 6 then
msgbox "Keine Mailadresse." & CHR(13) & "Der Vorgang wird abgebrochen." , 48, "Mail senden"
Exit Sub
End If
'attN = "C:\Ordner\" & "Test.pdf" 'Anhang beifügen
'attA = ConvertToURL (attN)
sEmpf = (sMail_Adr)
sBetreff = "Testmail" 'Betreffzeile
'sAnred = "Sehr geehrte Damen und Herren"
'If OS = 4 then
' für openSUSE, (Linux = 4, Unix = 3)
' shell("thunderbird",1,"-compose to=" + sEmpf +",attachment=" + attA + ",subject=" + sBetreff + ",body=" + sAnred)
'else
' für Windows 7 (normalerweise OS = 1)
' für alle Betriebssysteme und Mailprogramme:
' shell("C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe",1,"-compose to=" + sEmpf +",attachment=" + attA + ",subject=" + sBetreff + ",body=" + sAnred)
oShell.execute("mailto: + sMail_Adr +?subject= + sBetreff +" )
'End If
End Sub
Mein akutes Problem ist: Ich bekomme die Fehlermeldung
obwohl die Spalte im Formular wirklich so heißt. Was mache ich falsch?Type: com.sun.star.sdbc.SQLException
Message: Der Spaltenname 'TextField1' ist ungültig..
Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo Freischreiber,
mit
ist die Bezeichnung für die Tabellenspalte der dem Formular zugrundeliegenden Datenquelle gemeint. Du scheinst hingegen davon auszugehen, dass die Bezeichnung eines Formularfeldes gemeint ist.
Aus dem Handbuch:
Robert
mit
Code: Alles auswählen
oSubForm_Tel.findcolumn("TextField1")
Aus dem Handbuch:
GrußMöchte man anstelle der Spaltennummern mit den Spaltennamen der zugrundeliegenden Datenmenge (Tabelle, Abfrage, View) arbeiten, kann man die Spaltennummer über die Methode findColumn ermitteln – hier ein Beispiel zum Auffinden der Spalte "Name":
DIM sName AS STRING
nName = oForm.findColumn("Name")
sName = oForm.getString(nName)
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
-
- * LO-Experte *
- Beiträge: 833
- Registriert: Fr 28. Mär 2014, 10:41
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo Robert,
das funktioniert hier so, wie du schreibst, danke!
Was mich nur irritiert, ist ein anderes Makro, in dem ich die Zeile
zum Laufen gebracht habe, indem ich den Namen der Spalte im Formular umgetauft habe zu "AuftragID".
(In der zugrundeliegenden Auftragstabelle heißt die Spalte nur "ID").
Wie kann das dann sein?
Gruß
Freischreiber
Weil das Unterformular nicht direkt auf der Tabelle, sondern auf einer Abfrage beruht, wo die Spalte AuftragID heißt! Sorry. (Woher soll ich das noch wissen, nach zwei Jahren
)
Aber wieso das Umtaufen der Formularspalte dort geholfen hat, ist mir immer noch ein Rätsel. Egal.
das funktioniert hier so, wie du schreibst, danke!
Was mich nur irritiert, ist ein anderes Makro, in dem ich die Zeile
Code: Alles auswählen
stAuftragID = oformAuftraege.getString(oformAuftraege.findcolumn("AuftragID"))
(In der zugrundeliegenden Auftragstabelle heißt die Spalte nur "ID").
Wie kann das dann sein?
Gruß
Freischreiber


Aber wieso das Umtaufen der Formularspalte dort geholfen hat, ist mir immer noch ein Rätsel. Egal.
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
-
- * LO-Experte *
- Beiträge: 833
- Registriert: Fr 28. Mär 2014, 10:41
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Jetzt habe ich noch eine Luxusfrage:
Mein Betreff soll mit der Auftragsnummer anfangen, das klappt auch.
Aber: ich hätte gerne ein Leerzeichen hinter der Auftragsnummer im Betreff der Mail. Dazu habe ich versucht, dem String ein Leerzeichen anzuhängen. Das klappt aber nicht. Mit Buchstaben geht es...
Ich habe es auch mit CHR(13) probiert, scheint aber auch falsch zu sein bzw. unterdrückt zu werden. Gibt es da was Passendes?
Gruß
Freischreiber
Mein Betreff soll mit der Auftragsnummer anfangen, das klappt auch.
Aber: ich hätte gerne ein Leerzeichen hinter der Auftragsnummer im Betreff der Mail. Dazu habe ich versucht, dem String ein Leerzeichen anzuhängen. Das klappt aber nicht. Mit Buchstaben geht es...
Code: Alles auswählen
sBetreff = sBetreff+(" ")
Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo Freischreiber,
auch der Betreff muss URL-kodiert sein. Versuche einmal %20 als Leerzeichen.
In Deinem Makro fehlt die Konvertierung in eine URL für Texte insgesamt. Du müsstest vor der Weitergabe des Betreffs und es Inhaltes einer Mail das ganze über ConvertToUrl laufen lassen.
Gruß
Robert
auch der Betreff muss URL-kodiert sein. Versuche einmal %20 als Leerzeichen.
In Deinem Makro fehlt die Konvertierung in eine URL für Texte insgesamt. Du müsstest vor der Weitergabe des Betreffs und es Inhaltes einer Mail das ganze über ConvertToUrl laufen lassen.
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
-
- * LO-Experte *
- Beiträge: 833
- Registriert: Fr 28. Mär 2014, 10:41
Re: [gelöst] Email mit Datenübergabe aus einem Base-Formular
Hallo Robert,
so ist alles gut:
Wenn ich converttourl dazu nähme, hätte ich im Betreff stehen "file:///Auftragsnr "
Danke!
Gruß
Freischreiber
so ist alles gut:
Code: Alles auswählen
sBetreff = (sBetreff+ "%20")
Danke!
Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
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.