我有一个问题:我想从 lotusscript 代码运行一个文件:
Dim result As Integer
result = Shell("D:\testF.dsx", 1)
我收到以下错误:非法函数调用。
如果我想从公式中执行它,它可以工作:
@Command([执行]; "D:\\testF.dsx")
非常感谢!
我有一个问题:我想从 lotusscript 代码运行一个文件:
Dim result As Integer
result = Shell("D:\testF.dsx", 1)
我收到以下错误:非法函数调用。
如果我想从公式中执行它,它可以工作:
@Command([执行]; "D:\\testF.dsx")
非常感谢!
我在带有 PDF 文件的 Lotus 脚本中的 shell 函数遇到了同样的问题。我的解决方法是使用 Windows 脚本主机来启动文件。我很确定这也可以解决您的问题。
Set objShell = CreateObject("WScript.Shell")
returnValue = objShell.Run("d:\testF.dsx", 3, false)enter code here
无法“执行”文本文件。通常没有为 dsx- 文件定义“运行”函数。
你可以这样做:
Dim result as Integer
result = Shell("notepad.exe D:\testF.dsx", 1)
或者找出哪个程序链接到dsx(通过注册表)并以文件名作为参数执行相应的exe。如果文件名包含空格,则必须将其括起来:
Dim result as Integer
result = Shell({notepad.exe "D:\testF.dsx"}, 1)
阅读您的最后一个问题,这种方法肯定不适合您的要求。你必须使用“打开”来处理文件......就像 Per Hendrik 在他的回复中告诉你的那样。
我在将参数传递给 Outlook 时遇到了类似的问题。在某些 Windows 机器上,这个 @Formula 运行良好:
@Command([Execute]; "Outlook.exe"; "/recycle")
在 Windows 终端服务器上,它导致 Outlook 无法解析“/recycle” LotusScript 中的 Shell 命令甚至无法找到 Outlook.exe,因为它不在 PATH 中。
Ralf 的代码在这方面帮助了我。“WScript.Shell”似乎能够与 Windows 注册表设置进行交互。无论如何,这是用于激活打开的 Outlook 窗口的代码。
Dim objShell, returnValue
Set objShell = CreateObject("WScript.Shell")
returnValue = objShell.Run("outlook.exe /recycle", 3, False)