我有一个Excel宏,它运行在我们公司使用的工作簿中。我让单元格看起来像超链接,所以当有人双击链接时,它会打开IBM大型机并加载一些数据。我正在为我们编写另一个基于Web的应用程序,我想知道是否可以使用相同的功能。我没有在互联网上看到任何可以让我相信我能做到这一点的事情,但我想我还是会问......
Public SODD As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 And (Target.Row >= 1) Then
SODD = Target.Value
Call SOLookup
End If
End Sub
Sub SOLookup()
Dim autECLPS As Object
Dim s As New AutSess
AppActivate "3270 Terminal"
s.SetConnectionByName ("A")
s.autECLPS.StartCommunication
s.autECLPS.SendKeys "[Clear]"
s.autECLOIA.WaitForInputReady (500)
s.autECLPS.SetText "SODD " & SODD
s.autECLOIA.WaitForInputReady (500)
s.autECLPS.SendKeys "[ENTER]"
s.autECLOIA.WaitForInputReady (500)
End Sub
这会将IBM大型机加载并在销售订单编号中键入其屏幕,然后按Enter键。
我能用Javascript之类的东西完成同样的壮举吗?
答案 0 :(得分:1)
在浏览器中运行的Javascript和任何其他脚本都不允许在用户的计算机上本地执行任何文件。这是一个很好的选择。想象一下,如果任何网站可以在您的计算机上随机执行程序会发生什么......
互联网资源不受信任,因此不允许他们在您的本地计算机上执行任何操作。
如果网站在您公司的内部网上运行,可能有一种方法使用专有的MS技术和Internet Explorer以及正确配置的可信站点 - 但我不会打扰它。
答案 1 :(得分:1)
Javascript可能无法在用户的本地环境中执行文件。但是,服务器端语言可能会满足您的需求。例如,您可以使用AJAX(javascript)调用PHP脚本,该脚本可以执行批处理文件(.bat),然后可以运行您的宏。 PHP文件可以具有与
一样简单的代码system("cmd /c C:[path to your macro/.bat file]");
同样,这一切都取决于您的配置和环境。所以回顾一下:Web浏览器 - > AJAX-> PHP->宏。