
Teilen Sie:
Michael Crump arbeitet bei Vonage im Developer Experiences Team und ist Programmierer, YouTuber und häufiger Sprecher zu verschiedenen Themen der .NET- und Cloud-/Kommunikationsentwicklung. Seine Leidenschaft ist es, Entwicklern die Vorteile der jeweiligen Technologien auf einfache Art und Weise näher zu bringen.
Senden einer SMS-Nachricht aus einer Excel-Tabelle
Einführung
Microsoft bietet eine Möglichkeit, Office-Anwendungen wie Microsoft Excel neue Funktionen hinzuzufügen, um den Benutzer auf eine Weise zu führen und mit ihm zu interagieren, die speziell auf Ihre Geschäftsanforderungen zugeschnitten ist. Mit Visual Basic for Applications (VBA) können Sie diese Aufgaben erfüllen und noch mehr erreichen. Dabei handelt es sich um eine einfache, aber leistungsstarke Programmiersprache, mit der Sie z. B. Ihre Kontakte aus Microsoft Outlook in eine Microsoft Excel-Tabelle übertragen können.
In diesem Blogbeitrag werden wir VBA in Microsoft Excel verwenden, um eine SMS-Nachricht zu versenden. Geben Sie einfach die Handynummer und den zu versendenden Text ein und drücken Sie eine Schaltfläche, um die Nachricht zu versenden! Sie können den Code ändern, um zusätzliche Funktionen hinzuzufügen, die Ihr Unternehmen benötigt, wie z. B. die Terminplanung. Fangen wir an!
Erstellen eines Vonage Developer Accounts
Wir müssen ein Vonage Entwickler Account um SMS-Nachrichten von Vonage zu versenden. Sobald Sie einen Account erstellt haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis auf dem Vonage-API-Dashboard unter API-Einstellungen. Sobald Sie diese Werte haben, bewahren Sie sie an einem sicheren Ort auf, da wir sie in Kürze verwenden werden.
Weitere Informationen finden Sie in der Vonage SMS API-Dokumentation
Bevor wir mit der Codierung beginnen, sollten wir zunächst die Vonage SMS API-Dokumentation zu Rate ziehen, um herauszufinden, welche Felder die API von uns erwartet, wenn wir sie aufrufen. Aus der Dokumentation geht hervor, dass mehrere Programmier-SDKs unterstützt werden. Da Excel nur VBA verwendet, müssen wir den REST-Endpunkt aufrufen, den Vonage bereitstellt.
Nach Prüfung des REST-Codeausschnitts können wir feststellen, dass es mehrere erforderliche Felder gibt, wie z. B.:
A
fromNummerA
toNummerDie
textdie Sie senden möchten.Eine
api_keyundapi_secret, die Sie aus dem obigen Schritt haben sollten.
Das nachstehende cURL-Beispiel zeigt, wie es beim Aufruf aussieht.
Wenn Sie diesen Code mit gültigen Informationen und Anmeldedaten ausführen, wird die folgende Ausgabe in Ihrem Terminal angezeigt:
{
"messages": [
{
"to": "14259999999",
"message-id": "3c153507-8ade-4bd1-ab6f-12cb6f7f9efe",
"status": "0",
"remaining-balance": "39.08381985",
"message-price": "0.00869000",
"network": "310260"
}
],
"message-count": "1"
}Beachten Sie, dass status einen Statuscode von 0 zurückgibt, was bedeutet, dass es erfolgreich gesendet wurde. Wenn Sie die Nachricht an Ihre Telefonnummer gesendet haben, sollte eine Textnachricht erscheinen. Als Nächstes wollen wir Microsoft Excel einrichten.
Einrichten unserer Excel-Tabelle
Wie bereits erwähnt, kann Microsoft Excel mithilfe von VBA (Visual Basic for Applications) programmatisch mit den Daten interagieren. Beginnen wir mit der Erstellung eines Arbeitsblatts mit einigen Datenzeilen, die die Nummern enthalten, an die wir die Textnachrichten senden wollen, sowie die Nachricht, die wir senden wollen.
Beginnen wir mit der Erstellung eines Arbeitsblatts mit einigen Datenzeilen, die die Nummer enthalten, an die wir die Textnachricht senden wollen, sowie die Nachricht, die wir senden wollen.
Strukturieren Sie Ihre Excel-Tabelle wie folgt:
A1 und A2 enthalten die Nummern der Mobiltelefone.
B1 und B2 enthalten den zu versendenden Text.
H1 wird den Text "API-Schlüssel" enthalten.
H2 wird den Text "API Secret" enthalten.
I1 ist Ihr API-Schlüssel aus dem Vonage API Dashboard.
I2 ist Ihr API-Geheimnis aus dem Vonage API Dashboard.
I3 wird eine Schaltfläche mit der Aufschrift "SMS senden" sein (ich werde die Erstellung der Schaltfläche in Kürze erläutern).
Geben Sie Ihrem Arbeitsblatt einen Namen, z. B.
Numbers.
Sie sollten nun einen Bildschirm sehen, der wie der folgende aussieht.
ExcelStart.png
Aktivieren und Konfigurieren des Entwicklermodus in Microsoft Excel
Wir müssen eine Option hinzufügen, um die Entwickler die Option VBA zu verwenden. Sie können diese Option aktivieren, indem Sie zu Datei -> Optionen -> Multifunktionsleiste anpassen und setzen Sie ein Häkchen in das Feld Entwickler Option, wie unten gezeigt.
ExcelDevMode.png
Die Entwickler sollte jetzt in der Menüleiste angezeigt werden. Wählen Sie ihn aus und dann die Option Visuelles Basic um die Eingabe von Code in das System zu ermöglichen.
VisualBasic.png
Es erscheint ein neues Fenster, in dem Microsoft Visual Basic for Applications läuft. Wählen Sie . Einfügen aus den Menüoptionen und wählen Sie Modul um Visual Basic-Code einzugeben, der mit dem Excel-Blatt interagiert.
NewModule.png
Wir müssen eine Verweis auf den Microsoft XML 6.0 Bibliothek hinzufügen, die es uns ermöglicht, einen REST-Endpunkt aufzurufen. Gehen Sie zu Werkzeuge -> Referenz und prüfen Sie Microsoft XML, v6.0wie unten gezeigt:
AddReference.png
Hinzufügen von VBA-Code zum Aufrufen der Vonage SMS API
Kopieren Sie den folgenden Codeblock und fügen Sie ihn in Ihre Anwendung ein. Beachten Sie dabei die Kommentare, die ich hinterlassen habe und die beschreiben, was die einzelnen Abschnitte tun.
Sub SendSMS()
'Authentication
ApiKey = ActiveSheet.Range("I1").Value
ApiSecret = ActiveSheet.Range("I2").Value
'Define our Worksheet so we can loop through the data for the number and message to send.
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Numbers")
'Loop through Worksheet content - I only had two rows in this example, but you can modify this to your needs.
For i = 1 To 2
toNumber = ws.Range("A" & i).Value 'our number to text
bodyText = ws.Range("B" & i).Value 'the text we wish to send
'Use Microsoft's XML Library to make a web request.
Set Request = CreateObject("MSXML2.ServerXMLHTTP.6.0")
'Concatenate the required data that Vonage's REST Endpoint is expecting.
Url = "https://rest.nexmo.com/sms/json?from=18335787204" & "&to=" & toNumber & "&text=" & bodyText & "&api_key=" & ApiKey & "&api_secret=" & ApiSecret
'Open POST Request
Request.Open "POST", Url, False
'Set the Request Header
Request.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'Send Request
Request.send Url
Next i
'OPTIONAL: You can get the response text after a message is sent by calling MsgBox Request.responseText
End Sub
Zum Schluss müssen wir noch einen Schaltfläche hinzufügen, um dieses Ereignis auszulösen. Wählen Sie Einfügen aus dem Menü Entwickler, Klicken Sie auf Schaltflächeund platzieren Sie sie in I3.
ExcelButton.png
Sobald Sie die Maus loslassen, werden Sie aufgefordert Makro zuweisen auf diese Taste. Wählen Sie die SendSMS Makro, das wir gerade eingefügt haben, wie unten gezeigt, und drücken Sie OK.
AssignMacro.png
Jetzt ist es an der Zeit, es zu testen! Stellen Sie sicher, dass Sie eine funktionierende, gültige Telefonnummer für Ihren Standort in A1 & A2 und Text in B1 & B2 haben, und drücken Sie die SendenSMS Taste.
ExcelStart.png
Wenn alles gut gelaufen ist, sollten Sie eine SMS mit den in der Tabelle angegebenen Informationen erhalten haben.
Nachbereitung
VBA ist sehr effektiv und effizient, wenn es um Lösungen für Microsoft Office-Produkte geht, wie wir heute gesehen haben. Als ich für diesen Blogbeitrag recherchierte, erfuhr ich, dass es bereits seit fast dreißig Jahren verwendet wird. Das macht mich zuversichtlich, dass es sich um eine ausgereifte Plattform handelt; wahrscheinlich sind andere bereits auf dieselben Probleme gestoßen, die ich vielleicht habe.
Wenn Sie dies in Google Sheets tun möchten, sollten Sie hier nachsehen. Google Sheets und Microsoft Excel haben viele Gemeinsamkeiten, und Sie werden die gleiche großartige Vonage SMS API verwenden, die hier besprochen wird.
Wie immer gilt: Wenn Sie Fragen oder Feedback haben, melden Sie sich bei uns auf dem Vonage Entwickler-Slack. Nochmals vielen Dank für die Lektüre, und wir sehen uns beim nächsten Mal!
Teilen Sie:
Michael Crump arbeitet bei Vonage im Developer Experiences Team und ist Programmierer, YouTuber und häufiger Sprecher zu verschiedenen Themen der .NET- und Cloud-/Kommunikationsentwicklung. Seine Leidenschaft ist es, Entwicklern die Vorteile der jeweiligen Technologien auf einfache Art und Weise näher zu bringen.