2路SMS访问Microsoft Office,Excel和VBScript

张贴者 于2015年7月28日在 支持博客

主题关键字: , ,

双色球历史开奖记录 2向应用程序通常使用PHP或ASP.Net脚本基于Web技术构建。但是我们确实从想要使用VBScript的客户那里获得了很多支持问题。

VB脚本的优点是有许多示例可用于与Microsoft Office(尤其是Excel)进行接口,并且不需要额外的编程工具或环境。

As a starting point for VB脚本, we often refer to this example shared by one of our customers 13 years ago:  http://support.zgbianpofanghuwang.com/discus/messages/1/333.html

该示例VBScript接受收到的消息并将其写入文本文件日志。

如果要在处理收到的SMS时返回SMS答复,请从VBScript中使用WScript.Echo输出您的SMS答复。在处理2向命令时,脚本写入显示控制台的所有内容都将作为SMS答复发送。

例如,下面是一个简单的脚本,该脚本将相同的文本回送给消息发件人:

Set Args = WScript.Arguments 

For I = 0 to Args.Count - 1 

   if (I > 0) Then 

      LogTxt = LogTxt & " " 

   End if 

   LogTxt = LogTxt & Args(I) 

 Next 

Set Args = nothing 

 

Wscript.Echo "Echo " & LogTxt



上面的脚本循环浏览其所有命令行参数,并将它们存储为文本的组合字符串,然后使用Wscript.Echo传递答复。假设脚本名为echo.vs并保存在文件夹c:\ temp中,则可以在双色球历史开奖记录中定义以下2向命令:

c:\windows\system32\cscript.exe //Nologo c:\temp\echo.vbs @@FULLSMS@@

 

使用*作为关键字将所有收到的消息路由到此2向命令。

我们建议您在尝试作为2向命令进行部署之前,从命令提示符窗口中测试脚本。

在命令提示符窗口中,键入相同的命令,用模拟的文本消息替换@@ FULLSMS @@。例如:

c:\windows\system32\cscript.exe //Nologo c:\temp\echo.vbs Test Message

 

上面应该显示:

Echo Test Message

 

与Microsoft Office应用程序(例如Excel)的接口要困难一些。

以下是一个示例2向脚本,它将收到的SMS写入现有的Excel电子表格中:

http://www.zgbianpofanghuwang.com/download/2way-excel.vbs.txt

filename = "c:\temp\test.xlsx" 

 

'Parse command line arguments 

 

CmdLine = "" 

 

Set Args = WScript.Arguments  

    For I = 0 to Args.Count - 1  

       if (I > 0) Then  

         CmdLine = CmdLine & " "  

       End if  

       CmdLine = CmdLine & Args(I)  

    Next  

Set Args = nothing  

   

Set xlApp = CreateObject("电子表格.Application") 

set xlBook = xlApp.WorkBooks.Open(filename) 

set xlSht = xlApp.activesheet 

 

xlApp.DisplayAlerts = False 

 

'write data into the spreadsheet 

xlSht.Cells(xlSht.UsedRange.Rows.Count+1, 1) = CmdLine 

 

xlBook.Save 

xlBook.Close SaveChanges=True 

xlApp.Quit

 

该脚本解析命令行,期望收到收到的SMS消息,并将它们附加到Excel电子表格中。

在首次运行脚本之前,电子表格必须已经存在。

要对其进行测试,请将以下2向命令添加到双色球历史开奖记录:

c:\windows\system32\cscript.exe c:\temp\2way-excel.vbs //Nologo @@SENDER@@ @@FULLSMS@@

不幸的是,您可能会在尝试使用双色球历史开奖记录 2向命令从VBScript与Microsoft Office应用程序接口时遇到错误。这是因为双色球历史开奖记录中的SMS发送和接收是在Windows服务的上下文中而不是在桌面应用程序中运行的。

就我而言,在使用上述VBScript进行测试时,我始终遇到以下错误,但仅当双色球历史开奖记录将VBScript作为2向命令运行时:

c:\temp\2way.vbs(20, 2) Microsoft 电子表格: Microsoft 电子表格 cannot access the file 'c:\temp\test.xlsx'.



There are several possible reasons:

 - The file name or path does not exist.

 - The file is being used by another program.

 - The workbook you are trying to save has the same name as a currently open workbook.

 

这里有一个解决方法: //social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818e f91/excel-2007-automation-on-top-of-a-windows-server-2008-x64?forum=innovateonoffice

简短的解决方案是…

对于Windows x64版本,请创建以下文件夹:

C:\Windows\SysWOW64\config\systemprofile\Desktop

 

对于Windows x86版本,请创建以下文件夹:

C:\Windows\System32\config\systemprofile\Desktop

 

创建丢失的文件夹后,该脚本应该能够访问Office应用程序。

作为另一示例,还可以从电子表格中提取范围以作为SMS回复返回。例如,以下内容将返回单元格A1的内容作为答复。在关闭工作簿之前,请确保执行此命令。

Wscript.Echo xlSht.Range("A1").Value

 

其他详细信息和讨论可以在我们的支持论坛中找到:  http://support.zgbianpofanghuwang.com/discus/messages/1/73332.html

 

 

如有评论和更多讨论,请单击此处访问双色球历史开奖记录技术论坛(讨论板)...