使用javascript在用户的计算机上启动本地文件?

时间:2014-11-14 19:52:24

标签: javascript vba

我有一个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之类的东西完成同样的壮举吗?

2 个答案:

答案 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->宏。