Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SMS aus Excel

SMS aus Excel
Johann
Hallo Excel-Profis! Ich brauch eure Unterstützung!
Folgende Problem:
Ich hab mir aus dem Forum folgenden Code geholt, mit dem sich wunderbar ein SMS mit Excel über _
Outlook verschicken lässt (funktioniert super!):

Sub q()
Dim oOL As Object
Dim oOLMsg As Object
Dim oOLRecip As Object
Dim oOLBody As Object
Dim sAddress As String
Dim rng As Range
Set rng = ActiveWindow.RangeSelection
sAddress = Range("C17").Value                  'Inhalt der Zelle C17:     [sms:+436641234567] _
Set oOL = CreateObject("Outlook.Application")
Set oOLMsg = oOL.CreateItem(0)
With oOLMsg
Set oOLRecip = .Recipients.Add(sAddress)
.Body = Cells(7, 3)
.Send
End With
oOLRecip.Resolve
Set oOLRecip = Nothing
Set oOLMsg = Nothing
Set oOL = Nothing
End Sub

Allerdings funkts immer nur mit einem SMS. Die Empfängeradresse = Inhalt der Zelle C17 sieht so aus: [sms:+436641234567].
Für ein SMS an mehrere Empfänger, hätte ich gedacht, müsste das dann so aussehen:
[sms:+436641234567];[sms:+436641234567];[sms:+436641234567].....
Da kommt aber immer die Fehlermeldung: Outlook kennt mindestens einen Namen nicht.
Wie kann ich ein Gruppen-SMS verschicken? Bitte um Eure Hilfe.
LG Johann
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SMS aus Excel
17.11.2009 09:53:41
mumpel
Hallo!
Dazu musst Du die SMS-Adressen in einzelne Zellen schreiben und die SMS dann in Schleife versenden. Also ähnlich wie eine Serienmail. In meinem beispiel stehen die SMS-Nummern in D1 bis D3 (3 Stück)
Gruß, René
AW: SMS aus Excel
17.11.2009 10:43:41
Johann
Hallo Excel-Team, Hallo Rene!
Danke für deine schnelle Antwort. Ich hab's gleich ausprobiert und es funktioniert.
Nur:
Outlook macht bei jedem Empfänger eine Sicherheitsabfrage. Macht bei 50 Adressen 50 Abfragen. Kann man diese Abfragen vermeiden?
Danke aus dem schönen Weinviertel
Johann
Anzeige
AW: SMS aus Excel
17.11.2009 10:54:52
mumpel
Ja. Indem Du die Mail zuerst anzeigst. Vor .Sendcolor> noch ein .Displaycolor>.
Oder...
17.11.2009 10:59:59
mumpel
...mit SendKeys arbeiten
AW: Oder...
17.11.2009 16:32:26
Johann
Danke Rene für deine Mühe! Tut leid, dass es mit der Antwort so lange gedauert hat (Chef)!!
Bei der ersten Version ändert sich bei mir nur, dass jedes SMS vor dem Versenden geöffnet wird. Die Bestätigung für jedes SMS einzeln ist trotzdem notwendig.
Bei der 2. Version gibt Outlook bei Durchlauf im Visual Basic Editor in der Zeile "WsShell.SendKeys "%s" einen WarnTon aus. Sonst tut sich leider nichts.
Wenn ich das Modul aus dem Arbeitsblatt selbst starte, kommt auch der Warnton nicht.
Mach ich etwas falsch?
S.G. Johann
Anzeige
AW: Oder...
17.11.2009 17:38:18
mumpel
Versuch das mal:
Korrektur
17.11.2009 17:42:34
mumpel
Aus oOLRecipcolor> muss oAppRecipcolor> werden.
Im vorherigen Code ist auch ein kleiner Fehler, in der SendKeys-Routine. Dort muss oAppcolor> stehen, nicht olAppcolor>.
Anzeige
AW: Korrektur
18.11.2009 23:55:29
Johann
Hallo Rene!
Danke für deine Hilfe und sorry für meine Antwort-Pause.
Ich werde deine tollen Vorschläge ausprobieren, kann das aber nur in der Arbeit - sonst hab ich keinen SMS-Dienst über Outlook aufgerüstet. Ich meld mich morgen wieder.
Danke und schöne Grüße aus dem Weinviertel
Johann
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

SMS aus Excel versenden: So klappt's mit Outlook


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge den folgenden Code in ein neues Modul ein:

    Sub q()
       Dim oOL As Object
       Dim oOLMsg As Object
       Dim oOLRecip As Object
       Dim sAddress As String
       Dim rng As Range
       Set rng = ActiveWindow.RangeSelection
       sAddress = Range("C17").Value 'Inhalt der Zelle C17: [sms:+436641234567]
       Set oOL = CreateObject("Outlook.Application")
       Set oOLMsg = oOL.CreateItem(0)
       With oOLMsg
           Set oOLRecip = .Recipients.Add(sAddress)
           .Body = Cells(7, 3) 'Text der SMS
           .Send
       End With
       oOLRecip.Resolve
       Set oOLRecip = Nothing
       Set oOLMsg = Nothing
       Set oOL = Nothing
    End Sub
  3. Um SMS an mehrere Empfänger zu versenden, füge die Empfängeradressen in separate Zellen ein (z.B. D1 bis D3).

  4. Verwende eine Schleife, um die SMS an alle Empfänger zu senden:

    Dim cell As Range
    For Each cell In Range("D1:D3")
       sAddress = cell.Value
       ' Rest des Codes bleibt gleich
    Next cell
  5. Schließe den VBA-Editor und führe das Makro aus.


Häufige Fehler und Lösungen

  • Fehlermeldung: "Outlook kennt mindestens einen Namen nicht"

    • Stelle sicher, dass die SMS-Adressen korrekt formatiert sind und in einzelnen Zellen stehen.
  • Sicherheitsabfragen bei jedem SMS-Versand

    • Um dies zu vermeiden, füge .Display vor .Send hinzu, um die Nachricht anzuzeigen, bevor sie gesendet wird.
    .Display
    .Send

Alternative Methoden

  • SendKeys verwenden: Du kannst die SendKeys-Methode einsetzen, um die Bestätigungsanfragen zu umgehen. Achte darauf, dass dies möglicherweise nicht immer zuverlässig funktioniert.

    Dim WsShell As Object
    Set WsShell = CreateObject("WScript.Shell")
    WsShell.SendKeys "%s" 'Sendet die Tastenkombination für "Senden"
  • SMS-Dienste: Überlege, einen externen SMS-Dienst zu nutzen, der eine API bereitstellt. Dies kann eine einfachere und effizientere Lösung sein.


Praktische Beispiele

  • SMS an Gruppen versenden: Wenn du beispielsweise die Telefonnummern in den Zellen D1 bis D3 hast, kannst du das folgende Beispiel verwenden:

    Dim cell As Range
    For Each cell In Range("D1:D3")
       sAddress = cell.Value
       ' SMS senden Code hier einfügen
    Next cell
  • Text in Excel speichern: Die SMS-Nachricht kann in einer Zelle (z.B. C7) gespeichert werden und im VBA-Code aufgerufen werden:

    .Body = Cells(7, 3) 'Text der SMS aus Zelle C7

Tipps für Profis

  • Achte darauf, dass deine Excel-Version und Outlook kompatibel sind, um Fehler wie "Outlook kennt mindestens einen Namen nicht" zu vermeiden.
  • Verwende Debugging, um Probleme im Code leichter zu erkennen. Nutze Debug.Print für die Ausgabe von Variablenwerten.
  • Halte deine Adresslisten regelmäßig aktuell, um sicherzustellen, dass die SMS immer an die richtigen Empfänger gesendet werden.

FAQ: Häufige Fragen

1. Wie kann ich SMS an mehrere Empfänger gleichzeitig versenden? Um SMS an mehrere Empfänger zu versenden, musst du die Adressen in separaten Zellen einfügen und eine Schleife verwenden, um jede SMS einzeln zu senden.

2. Was kann ich tun, um Sicherheitsabfragen beim Versand zu vermeiden? Füge die .Display-Methode vor der .Send-Methode hinzu, um die Nachrichten anzuzeigen und die Sicherheitsabfragen zu umgehen. Alternativ kannst du SendKeys verwenden, um die Bestätigung zu automatisieren, beachte aber die Zuverlässigkeit dieser Methode.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige