Seite 1 von 1

halbautomatisch SMS versenden

Verfasst: Fr 12. Aug 2016, 18:56
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.

Verfasst: Fr 12. Aug 2016, 20:08
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

Verfasst: Sa 13. Aug 2016, 16:31
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

Verfasst: Sa 13. Aug 2016, 21:05
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

Verfasst: Di 16. Aug 2016, 10:05
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

Verfasst: Di 16. Aug 2016, 10:13
von icke1954
Danke für Dein Feedback!

Gruß icke

Verfasst: Di 16. Aug 2016, 13:41
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

Verfasst: Sa 17. Sep 2016, 09:01
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.

Verfasst: Sa 17. Sep 2016, 14:41
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