从Excel导出数据到Prism
尽管Prism可打开Excel文件,但速度很慢。作为替代,编写一个Visual Basic宏将选定的值导出作为文本文件。下述宏在Excel中运行,将工作表1的左上角(12行,6列)导出为逗号分隔值(CSV)文件,Prism可导入该文件。
Open "C:\data\july97\dr2.csv" For Output As #1
For I = 1 To 12
For J= 1 to 6
Print #1, Worksheets(1).Cells(I,J).Value; ",";
Next
Write #1,
Next
Close #1
按照该代码启动Prism,运行Prism脚本,且也许可以将结果从Prism导回Excel中。
从Excel中创建一个PZC(Prism脚本)文件
在创建从Excel种运行Prism的系统时,您需要编辑Excel VBA语句和Prism PZC脚本。简化您的工作的一种方法是编写从Excel中导出PZC文件的Visual Basic代码。然后您只需要编辑一份文件。例如,您可以使用以下VBA代码:
Open "C:\Prism4\auto.pzc" For Output As #1
Print #1, “Shortlog”
Print #1, “SetPath C:\gp\prism25\”
Print #1, “Open generate.pzm”
Print #1, “openOutput fit.txt”
Print #1, “ ForEach 500”
Print #1, “ GoTo R 1”
Print #1, “ Regenerate”
Print #1, “ GoTo R 2”
Print #1, “ WCell 5,1”
Print #1, “ Next”
Close #1
Shell ("C:\program files\prism5\prism.exe @C:\prism5\auto.pzc")
第一行创建一份名为auto.pzc的新文件,并将其指定为文件号1。之后10行导出您已写入该文件的Prism脚本命令。下一行关闭脚本文件,该文件由上面显示的最后一行启动。其他行将导入由Prism导出的结果。
将所有命令放入一个在概念上没有帮助的文件中。您仍然需要区分Excel中的VBA代码和Prism的脚本命令。优点是您可以在一份文件中进行所有编辑,而非在两份文件中进行。缺点是编写脚本有些许困难,因为您必须把每一行都放在引号里,并在前面加上“Print#1”。
将Prism图表放入Excel中
除导入Prism分析的结果外,您可能还需要将Prism图表导入到Excel中。导出图表没有问题,因为Prism脚本可将图表或布局导出作为WMF图片。问题是将其导入到Excel中,因为没有办法编写Visual Basic命令来导入图片。您可以间接进行该操作。在Excel中手动创建一个图片对象(显示“控制”工具栏,点击“图像”按钮,然后拖动以创建对象)。然后编写Basic代码来更改该图片对象的内容。例如,
Sheet2.DRGraph.Picture = LoadPicture(Path$ + "dr2.wmf")