使用VBA拨打手机

时间:2009-08-21 19:56:09

标签: vba

大约一年前,另一个部门的经理头脑风暴说,如果我的一个自动报告崩溃,我可以编写一些VBA来自动给我打电话。我当时笑了,但我的技能有了很大提高,我想知道它是否在技术上可行

(不是我实际上是这样做的,请注意。我喜欢我周六早上的工作场所免费)。

这需要:
1.访问互联网(不是问题)
2.连接到某个服务以拨打电话的方式,最好是免费的,以免我每个月花费10美元(Skype?)
3.自动语音(已存在于标准Access安装包中)

您怎么看?

编辑08/24/2009 - 添加了间距。没有文字被更改。

5 个答案:

答案 0 :(得分:10)

做最简单的事可能有用。在这种情况下,拨打电话很难,但sending emails is easy

大多数手机提供商将手机的邮箱(例如555-867-5309@cellphoneprovider.com)暴露在互联网上,允许您向该地址发送电子邮件,并将其作为短信显示在手机上。 / p>

答案 1 :(得分:2)

您可以将Skype与VBA结合使用。实际上并没有那么复杂,你会在Skype网站上找到用VBScript编写的几个samples。我不知道是否可以实际播放音频文件,但您可以轻松地send SMS

 '// Create a Skype4COM object:
Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")

'// Start the Skype client:
If Not oSkype.Client.IsRunning Then oSkype.Client.Start() End If

'// Send SMS:
Set oSMS = oSkype.SendSms("+1234567890", "Hello!")

WScript.Sleep(60000)

'// Message event handler:
Public Sub Skype_SmsMessageStatusChanged(ByRef aSms, ByVal aStatus)
  WScript.Echo  ">Sms " & aSms.Id & " status " & aStatus & " " & oSkype.Convert.SmsMessageStatusToText(aStatus)
End Sub

'// Target event handler:
Public Sub Skype_SmsTargetStatusChanged(ByRef aTarget, ByVal aStatus)
  WScript.Echo  ">Sms " & aTarget.Message.Id & " target " & aTarget.Number & " status " & aStatus & " " & oSkype.Convert.SmsTargetStatusToText(aStatus)
End Sub

答案 2 :(得分:1)

如果你有一个旧的拨号调制解调器,那么你可以(在'旧的VB6天)以编程方式通过调制解调器拨号,但是我不确定它是否可能在VBA中。接下来的挑战是将音频降下来。

  

我建议你屠宰一个无头耳机&连接到手机的麦克风,然后你可以从你的PC扬声器输出端拿一个 3.5mm音频插孔并将其连接到无头耳机/麦克风套件,除非有电缆已经这样做(可能)。

然后编写微软的文本到语音引擎就是一个简单的问题。

<强> Darknight

答案 3 :(得分:0)

http://chandoo.org/wp/2009/02/05/twitter-from-excel/。设置一个Twitter帐户,ping你的手机,并用此创建twitters。

这并不像电子邮件的想法那么容易,但你可能是第一个从Excel推文的人,除了新奇之外。

答案 4 :(得分:0)

另一个非常简单的选择是给自己发送一条短信,这个短信几乎不像发送电子邮件那么容易,但更容易接收。像clickatell.com这样的公司提供廉价的基于网络的文本服务,只要您注册,您需要做的就是调用URL,然后发送短信。

值得一试。