获取有关在Progress 4GL(ABL)中不再使用MS Excel文件的通知

时间:2020-03-06 14:55:15  来源:igfitidea点击:

有一个使用AppServer的GUI ADM2 Progress v9应用程序。

它需要使用户能够查看存储在AppServer上的MS Excel文件。到目前为止:

  • 将.xls文件从AppServer拉到本地驱动器。
  • 触发MS Excel的副本并打开文件。

问题是一旦不再需要本地驱动器上的临时文件,则需要将其删除。有什么提示吗?

解决方案

如果我们要"提供Excel副本",是否有任何特殊原因不能仅将"已启动" Excel应用程序指向App Server上的文件?
如果我们是从命令行shell启动Excel,则可以转到Excel.exe" http://myserver/myexcelbook.xls",对吗?
如果我们是通过Office Interop Assembly之类的方法打开它,则可以从诸如以下的Application.WorkBookBeforeClose`事件中注销。

ThisMethodHandlesTheWorkbookBeforeCloseEvent()
{
  DeleteTheFile();
}

我们可以在"进度"中使用os-command函数运行Excel,并告诉它等到查看完毕后再返回进度代码。一旦我们退出Excel,请对该文件运行os-delete命令。