Lotus Notes的 - 的LotusScript:外壳功能:非法函数调用(Lotus Note

2019-10-18 14:10发布

我有一个问题:我想从运行LotusScript代码文件中:

    Dim result As Integer
    result = Shell("D:\testF.dsx", 1)

我得到以下错误:非法函数调用。

如果我想从公式执行它它的工作原理:

@Command([执行]; “d:\\ testF.dsx”)

非常感谢!

Answer 1:

这是不可能的“执行”一文本文件。 通常存在于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)

和阅读你的最后一个问题这种做法肯定是不适合你的要求的权利。 您必须使用“打开”,以处理文件......就像每亨德里克告诉你他的回应。



Answer 2:

我有同样的问题与PDF文件莲花脚本外壳功能。 而我的解决方法是使用Windows脚本宿主来启动该文件。 我敢肯定,这将解决你的问题了。

Set objShell = CreateObject("WScript.Shell")
returnValue = objShell.Run("d:\testF.dsx", 3, false)enter code here


Answer 3:

我只好参数传递到Outlook类似的问题。 在某些Windows机器,这@Formula完美工作:

@Command([Execute]; "Outlook.exe"; "/recycle")

在Windows终端服务器,就引起Outlook以无法解析“/再循环”从LotusScript中壳命令甚至没有能够找到的Outlook.exe,因为它在PATH没有。

拉尔夫的代码帮我在这方面。 该“WScript.Shell”似乎能够与Windows注册表设置互动。 不管怎么说,这是一种用于激活打开Outlook窗口的功能代码。

Dim objShell, returnValue
Set objShell = CreateObject("WScript.Shell")
returnValue = objShell.Run("outlook.exe /recycle", 3, False)


文章来源: Lotus Notes - lotusscript: shell function: illegal function call