启动脚本的一种方法是在 Prism 内部进行(打开“文件”菜单并选择“运行脚本”)。您也可以在 Prism 外部启动 Prism 脚本。当您通过这种方式启动 Prism 时,如果脚本关闭了所有打开的 Prism 文件,那么在脚本结束时 Prism 将会关闭;否则,Prism 将继续保持打开状态。
通过桌面图标运行 Prism 脚本
要创建一个可运行 Prism 脚本的图标,请将鼠标悬停在桌面上的空白处,单击鼠标右键,然后选择“新建…快捷方式”。 输入一条用于启动 Prism 并指向要运行的 Prism 脚本文件的命令行。在脚本路径前添加 @ 符号。如果任一路径中包含空格,请如下所示将整个路径用引号括起来:
“C:\PRISM5\PRISM.EXE” @”C:\PROGRAM FILES\PRISM 6\SCRIPTS\DOIT.PZC”
从其他程序调用 Prism
所谓“shell”,即从一个程序中启动另一个程序。本示例是 Excel VBA 宏中的 Shell命令示例。
Shell ("C:\prism 5\prism.exe @C:\prism 6\dr2.pzc")
Shell命令必须同时指定 prism.exe 的完整路径以及 Prism 将要启动的脚本。请在脚本名前面加上 @ 符号。
两点重要说明:
•Prism 将以隐身模式运行。即使任务完成,Prism 也不会显示在屏幕上。
•Visual Basic 一旦启动 Prism,就会继续执行 Visual Basic 程序或宏中的下一条语句。它不会等待 Prism 完成再继续执行。 如果您不采取下面描述的额外步骤,您的 Visual Basic 程序会在 Prism 完成文件创建之前就尝试读取包含 Prism 结果的文件。为避免这种情况,请按照下文说明,让您的 Visual Basic 程序暂停,直到 Prism 创建好文件为止。
编写 Prism 脚本时,请在脚本末尾添加几行代码,以创建一个文件,该文件将告知 Visual Basic 您已完成操作。本示例将创建 done.txt 文件。
OpenOutput "done.txt"
WText "done"
CloseOutput
您的 Visual Basic 代码应首先删除 done.txt 文件(如果该文件在先前运行中已存在),然后启动 Prism。紧接着,加入以下代码行,使程序循环运行直至 done.txt 文件创建完成。
Do Until Dir$(“C:\prism 6\done.txt") > ""
Application.Wait Now + TimeValue("00:00:1")
Loop
本示例中的第一行代码用于检查文件 done.txt 是否存在。 请根据需要修改路径和文件名。如果该文件存在(表示 Prism 已运行完毕),Visual Basic 将跳出循环,继续执行后续代码。如果该文件尚未存在,Visual Basic 将等待 1 秒,然后循环返回再次检测该文件是否存在。
使用 OLE 自动化从其他程序启动 Prism
除了使用 Shell命令外,还可以通过 OLE(或 ActiveX)自动化来启动 Prism。以下是本示例。
Set Prism = CreateObject("Prism.command")
Prism.SetPath ("C:\data\july99")
Prism.visible
Prism.runcommand (“c:\prism5\doseresp.pzc")
Prism.quit
Set Prism = Nothing
第一行创建了一个 Prism 命令对象。您可以为该对象变量指定任意名称(位于 = 号左侧),但将其命名为 Prism 会比较方便。您无需向程序指定 prism.exe 的位置,Windows 会通过注册表自动处理此事。
第二行是可选的,用于指定 Prism 使用的文件夹。这省去了在 Prism 脚本中使用 SetPath 语句的必要。运行脚本时,Prism 会首先在此目录(文件夹)中查找数据文件和模板。请将文件夹名称用引号括起来,或使用文本变量。
第三行指示 Prism 显示进度对话框。测试完代码后,请删除此行,以便 Prism 在后台运行(不显示任何对话框)。
第四行启动 Prism 脚本。必须包含脚本文件的完整路径;上述 SetPath 消息中指定的目录不会被自动采用。
最后两行代码会使 Prism 退出,并释放 Prism 对象占用的内存。
Shell命令与 VBA 自动化
与使用 Shell 语句相比,使用 OLE 自动化有两个优势。首先,通过 OLE 自动化,Visual Basic 和 Prism 会顺序运行,从而避免了 Visual Basic 尝试获取尚未生成的结果的情况。 其次,通过 OLE 自动化,您的 Visual Basic 程序可以指示 Prism 从特定文件夹导入数据(Prism.SetPath 命令),而无需修改 Prism 脚本。
从内联网网页启动脚本(Windows)
您可以通过内部网网站上的链接启动 Prism。
首先,在您的 Web 服务器上创建一个批处理文件,该文件使用 Call 命令调用程序和各个配置文件。
例如,创建一个名为 StartPrism.bat 的文件,其中包含类似以下内容的一行代码
Call “N:\Program Files\PRISM5\PRISM.EXE” -OC:\WINDOWS\prism5.cnf
或者这样:
Call F:\Prism\Prism.exe @"F:\PRISM\PRISMSCRIPTS\DOIT.PZC"
当然,您需要根据 Prism 的安装位置调整本示例。驱动器字母是服务器驱动器的别名。在第一个示例中,第一部分用于启动 Prism,第二部分则告诉 Prism 配置文件的位置;在第二个示例中,第二部分用于运行一个 Prism 脚本。
接下来,编辑您的网页,添加指向该批处理文件的超链接。例如,使用 HTML 将文本“Prism”链接到文件 StartPrism.bat