Zugegeben, auf den ersten Blick wirkt dieser Ratgeber vielleicht sehr spezifisch. Doch wenn du öfter Daten aus cobra in Excel exportierst, ist es durchaus möglich, dass du auch virtuelle Felder aus der Datenbank benötigst.
Durchschnittliche Lesezeit: ca. 4–6 Minuten
In diesem Tutorial bekommst du zusätzlich eine Einführung in die cobra-Skriptsprache und erstellst dabei einen anklickbaren Hyperlink in Excel.
Die Ausgangslage
Wir verwenden die Demodatenbank und cobra CRM BI 2021 für unser Beispiel. Deine cobra-Installation kann anders aussehen, und es ist möglich, dass dir einige Funktionen nicht zur Verfügung stehen. Wende dich in diesem Fall an deine Systemadministratorin oder deinen Systemadministrator.
In unserem Beispiel lautet die Anforderung so: Du möchtest eine Teilnehmerliste, die du zuvor in cobra recherchiert hast, in eine Excel-Datei importieren. Dabei soll ein zusätzliches Feld, das den Nachnamen des Teilnehmenden enthält, ein anklickbarer E-Mail-Hyperlink sein.
Die Anatomie eines Links
Wie sich praktische Hyperlinks in Excel mit Formeln erstellen lassen, haben wir bereits in einem vorausgegangenen Beitrag erklärt.
[Weiterlesen: E-Mails aus Excel (mit Formeln) verschicken – warum nicht?]
Nun werden wir diese Excel-Formel direkt in cobra erzeugen.
Was in Excel letztlich ankommen soll, muss wie diese Formel aussehen.
=HYPERLINK(Hyperlink_Adresse; [Freundlicher_Name])
«Hyperlink_Adresse» ist in unserem Fall der klickbare E-Mail-Hyperlink, den wir erzeugen möchten, und «Freundlicher_Name» der optionale Anzeigetext (der Nachname).
Also:
=HYPERLINK(„mailto:[E-Mail-Adresse]“;“[Nachname]“)
Für den Fall, dass keine E-Mail-Adresse hinterlegt sein sollte, wird unsere Formel in cobra den Wert «Leer» übergeben.
Virtuelle Felder
Wahrscheinlich nutzt du in cobra bereits virtuelle Felder, ohne es zu bemerken. Ein Beispiel dafür ist das virtuelle Feld «Briefanrede».
Du findest sie in «Datei > Datenbank > Datenbankstruktur > Virtuelle Felder».
Mit «Neu» legst du ein neues Feld an. Als Feldtyp wählst du «Berechnetes Feld», vergib einen Namen (in unserem Beispiel «Hyperlink») und bestätige mit «OK».
Im Editor
Du befindest dich im Formeleditor.
Jetzt wählst du unter «Funktionen» «Logisch» aus und fügst per Doppelklick als erste Funktion «Iif(, ,)» ein.
Diese funktioniert folgendermassen:
Iif (Ausdruck, True-Teil, FalsePart)
Unter «Ausdruck» wird eine Bedingung formuliert, die den «True-Teil» aktiviert, wenn sie erfüllt ist. Andernfalls wird der «FalsePart» ausgeführt.
Die vollständige Formel soll ein «Leer» ausgeben, sofern keine E-Mail-Adresse hinterlegt wurde. Wurde eine E-Mail-Adresse in das entsprechende Feld eingegeben, soll unsere Excel-Formel erzeugt werden.
Dazu müssen wir an der Stelle des Ausdrucks eine weitere Funktion einfügen.
«IsNullOrEmpty(String)» heisst hierfür die benötigte Funktion. Sie prüft, ob das Feld für die E-Mail-Adresse der Anzusprechenden Person ausgefüllt wurde.
Passe deine Formel also dementsprechend an:
Iif (IsNullOrEmpty([E-Mail Asp]), ‚Leer‘, FalsePart)
Den Feldnamen musst du nicht von Hand eingeben, du kannst bequem über das Menü «Felder» alle verfügbaren Datenbankfelder durchstöbern und das benötigte mit Doppelklick in deine Formel einfügen.
Was nun abschliessend noch fehlt, ist der Teil, in dem die Excel-Formel erzeugt wird.
Betrachten wir zuerst noch einmal den Teil, den wir erzeugen möchten.
=HYPERLINK(„mailto:[E-Mail-Adresse]“;“[Nachname]“)
Wir müssen nur ein paar kleinere Änderungen vornehmen, damit dieser Teil auch in cobra funktioniert.
Die Platzhalter «[E-Mail-Adresse]» und «[Nachname]» können wir nahezu eins zu eins ([E-Mail-Adresse] wird zu [E-Mail Asp]) übernehmen. Nur die restlichen Zeichen müssen wir als Zeichenkette (String) um diese Felder herum konstruieren. Das geschieht mit Pluszeichen (+) und Apostrophen (‚).
Die vollständige Formel sieht dann folgendermassen aus:
Iif (IsNullOrEmpty([E-Mail Asp]), ‚Leer‘ , ‚==HYPERLINK(„mailto: ‚ + [E-Mail Asp] + ‚ „;“‚+ [Nachname]+ ‚“)‘ )
Alles, was hier kein Datenbankfeld ist, wird zwischen Hochkommas gestellt und der gesamte Ausdruck mit Pluszeichen verknüpft. Wenn du dich über das doppelte Gleichheitszeichen vor «Hyperlink» wundern solltest – dazu kommen wir in wenigen Momenten.
Nach Excel exportieren
Wenn du deine Formel richtig eingegeben hast, kannst du sie speichern und zur Adressliste zurückkehren. Wenn du sehen möchtest, ob deine Formel korrekt erzeugt wird, kannst du dir die Spalte in der Adressliste anzeigen lassen (Rechtsklick in die Kopfzeile > Spaltenauswahl oder Layout > Spaltenauswahl).
Jetzt kannst du deine Daten exportieren (Daten > Export).
Du kannst entweder ein neues Exportformat anlegen oder ein bereits vorhandenes verwenden. Achte jedoch darauf, das neu erzeugte Feld («Hyperlink») zu deinen ausgewählten Feldern hinzuzufügen.
Ein kleiner Schönheitsfehler bleibt noch zu beheben
Wenn du die Excel-Datei öffnest, wirst du feststellen, dass die Hyperlinks leider nicht als solche übernommen werden. Das ist ein Problem, das Excel beim Import von Dateien dieser Art hat.
Selbst wenn du den Hyperlink nach dem Muster
=HYPERLINK(„mailto:[E-Mail-Adresse]“;“[Nachname]“)
korrekt erstellt hast, wird Excel ihn nicht als Formel interpretieren. Hier kommen die doppelten Gleichheitszeichen von weiter oben ins Spiel. Der Kniff besteht darin, dem Excel-Feld ein «überflüssiges» Sonderzeichen bereits bei der Programmierung in cobra mitzugeben.
Der Beitrag, den ich zu diesem Thema fand, verwendete ein vorhergehendes Hochkomma, was bei meinem Versuch jedoch nicht funktionierte.
Mit einem doppelten Gleichheitszeichen hingegen klappte der Trick tadellos.
Ein simples «Suchen und Ersetzen» der doppelten Gleichheitszeichen durch ein Gleichheitszeichen bringt den gewünschten Effekt, dass Excel die Spalteneinträge als anklickbare Hyperlinks annimmt.
Zu schwierig?
Du findest Tutorials wie dieses zu cobra CRM interessant? Wir freuen uns auf ein Feedback.
Anpassungen wie diese sind dir zu kompliziert? Als cobra-Partner nehmen wir Anpassungen wie diese gerne für dich vor.