使用 javascript 在用户的机器上启动本地文件

Use javascript to launch local file on user's machine?

本文关键字:启动 文件 机器 javascript 用户 使用      更新时间:2023-09-26

我有一个在我们公司使用的工作簿中运行的 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之类的东西完成同样的壮举吗?

Javascript 可能不会在用户的本地环境中执行文件。 但是,服务器端语言可以满足您的要求。 例如,您可以使用AJAX(javascript)调用PHP脚本,该脚本可以执行批处理文件(.bat),然后可以运行宏。PHP 文件可以包含

system("cmd /c C:[path to your macro/.bat file]");

同样,这一切都取决于您的配置和环境。所以回顾一下:Web Browser->AJAX->PHP->Macro。

Javascript 和在浏览器中运行的任何其他脚本都不允许在用户计算机上本地执行任何文件。这是一个很好的问题。想象一下,如果任何网站可以在您的计算机上随机执行程序会发生什么......

Internet 资源不受信任,因此不允许它们在本地计算机上执行任何操作。

如果网站在您公司的内部网中运行,则可能有一种方法可以使用专有的MS技术和Internet Explorer以及正确配置的受信任站点 - 但我不会打扰它。