halbautomatisch SMS versenden

Antworten
ger_84
Beiträge: 8
Registriert: Fr 12. Aug 2016, 18:49

halbautomatisch SMS versenden

Beitrag von ger_84 »

Ich versende täglich 10-30 SMS um Termine zu bestätigen oder Kunden zum Geburtstag zu gratulieren. Dabei handelt es sich immer um den gleichen Text nur der Name, das Datum und die Uhrzeit in diesem Text ändert sich.

Gibt es eine Möglichkeit diese SMS halbautomatisch zu versenden?

Gemeint ist das so:
Ich erstelle z.B. eine Exceltabelle und MPE liest dann die Telefonnummer des Empfängers und den dazugehörigen Text aus den jeweiligen Zellen und verschickt dann eine SMS sobald ich ein bestimmtes Script aufrufe. Selbstverständlich kann ich die Daten auch in einem anderen Dateiformat abspeichern.
icke1954
Moderator
Beiträge: 18172
Registriert: Sa 19. Apr 2014, 10:35

Beitrag von icke1954 »

Hallo und willkommen in unserem Forum!

Schau Dir bitte diesen Post in den FAQ an => Senden von SMS über Batch-Datei

Gruß icke
ger_84
Beiträge: 8
Registriert: Fr 12. Aug 2016, 18:49

Beitrag von ger_84 »

danke icke1954 das ist genau das was ich gesucht habe.

Allerdings gibt es ein Problem mit Umlauten und scharfen S.
Sowohl wenn ich zB "für" schreibe als auch wenn ich für Ü = ALT+0129 eingebe kommt eine Fehlermeldung wegen einem nicht erlaubten Zeichen.

Wie bekomme ich diese Sonderzeichen gesendet?

Liebe Grüße
ger_84
icke1954
Moderator
Beiträge: 18172
Registriert: Sa 19. Apr 2014, 10:35

Beitrag von icke1954 »

Hallo,
das muß sich FJ mal ansehen, danke für die Info !

Du kannst als Workaround auch folgenden VBS-Scipt (z.b. "SMS.vbs") verwenden:

Code: Alles auswählen

Dim TelNr(), SMSText()
dateiPfad = "SMS.txt" 
x = 0 
Const ForReading = 1 

Set fs = CreateObject("Scripting.FileSystemObject") 
If (fs.FileExists(dateiPfad)) Then Set f = fs.OpenTextFile(dateiPfad, ForReading) 
Do While f.AtEndOfStream <> True 
	x = x+1 
	ReDim Preserve SMSText(x) 
	ReDim Preserve TelNr(x) 
	org_zeile = f.Readline 
	if left(org_zeile,1) = chr(34) then
	 SMSText(x) = org_zeile 
	else 
		TelNr(x) = org_zeile 
	end if 
Loop 
f.Close 
For n = 1 to x 
	if left(SMSText(n),1)=chr(34) then
		vSMSText= SMSText(n)
	else
		RunMPE "action=sendmessage flags=noerrmsg savetosent=1 number=" & TelNr(n) & " text=" &  vSMSText
		WScript.Sleep 6000	
   end if 
next 

Function RunMPE(Arguments) 
  set shell = CreateObject("WScript.Shell") 
  shell.run "myphoneexplorer " & Arguments ,3 
End Function 
Dann erstellst Du eine Textdatei (SMS.txt):

Code: Alles auswählen

"1.Text"
Nummer-1
Nummer-2
...
...
"2.Text"
Nummer-1
Nummer-2
...
...

- Die Zeile WScript.Sleep 6000 in dem Script kannst Du noch nach Bedarf anpassen (6000 entspricht einer Pause von ca 6 sec)
- sms.vbs und sms.txt sollte sich im gleichen Verzeichnis befinden, sonst mußt Du dateiPfad = "SMS.txt" entsprechend anpassen


E.v.t hilft Dir das weiter


Gruß icke
Zuletzt geändert von icke1954 am Di 16. Aug 2016, 10:18, insgesamt 1-mal geändert.
ger_84
Beiträge: 8
Registriert: Fr 12. Aug 2016, 18:49

Beitrag von ger_84 »

Hallo icke,
ja das VBS-Scribt funktioniert perfekt (auch sämtliche Umlaute werden jetzt unterstützt) - ich verstehe die programmiersprache zwar nicht aber das ist ja nur nebensache ;-)

D A N K E ! ! ! ! ! !
Liebe Grüße
ger_84
icke1954
Moderator
Beiträge: 18172
Registriert: Sa 19. Apr 2014, 10:35

Beitrag von icke1954 »

Danke für Dein Feedback!

Gruß icke
icke1954
Moderator
Beiträge: 18172
Registriert: Sa 19. Apr 2014, 10:35

Beitrag von icke1954 »

Hallo,
ich habe den VBS-Script noch etwas optimiert, obwohl Du keinen Unterschied in der Funktion bemerken wirst!
D.h. der Vollständigkeit halber, hier noch die Korrektur:

Code: Alles auswählen

Dim ZeileTxt() 
dateiPfad = "SMS.txt" 
x = 0 
Const ForReading = 1 

Set fs = CreateObject("Scripting.FileSystemObject") 
If (fs.FileExists(dateiPfad)) Then Set f = fs.OpenTextFile(dateiPfad, ForReading) 
Do While f.AtEndOfStream <> True 
   x = x+1 
   ReDim Preserve ZeileText(x) 
   ZeileText(x) = f.Readline 
 Loop 
f.Close 
For n = 1 to x 
   if left(ZeileText(n),1)=chr(34) then 
      SMSText= ZeileText(n)
   else 
      RunMPE "action=sendmessage flags=noerrmsg savetosent=1 number=" & ZeileText(n) & " text=" &  SMSText 
	  WScript.Sleep 6000
   end if 
next 

Function RunMPE(Arguments) 
  set shell = CreateObject("WScript.Shell") 
  shell.run "myphoneexplorer " & Arguments ,3 
End Function 
Gruß icke
FJ
Site Admin
Beiträge: 32113
Registriert: Mi 15. Feb 2006, 01:16
Wohnort: Tirol

Beitrag von FJ »

Obwohl dein Problem an sich ja gelöst ist - es hatte nicht direkt mit MyPhoneExplorer zu tun. Der XML-Standard besagt dass Sonderzeichen nach UTF8 kodiert werden müssen. Je nach Anwendung mit der du die Datei erstellt hattest kannst du die verwendete Zeichenkodierung dort einstellen und dann funktionierts auch mit MyPhoneExplorer.
Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.

Bitte benutzt auch die Forum-Suche bzw. die FAQ
icke1954
Moderator
Beiträge: 18172
Registriert: Sa 19. Apr 2014, 10:35

Beitrag von icke1954 »

... kannst du die verwendete Zeichenkodierung dort einstellen und dann funktionierts auch mit MyPhoneExplorer.
Ja auf die Idee war ich damals auch gekommen, aber es hatte nicht funktioniert?!
Seltsamerweise, funktioniert es aber jetzt - Danke?
Ich habe keinen Schimmer woran das lag/liegt :?

Gruß icke
Antworten