0

我有一个 Lotus Notes 代理,它搜索数据库然后以 Excel 格式返回结果。当我使用触发器运行代理时,我得到了正确的结果:事件 -> 操作菜单选择。但是当我计划在服务器上运行代理时,我收到了不同的结果。在 Excel 文件的前 10 行中始终显示 10 个文档,当我在数据库中手动搜索它们时,我无法在数据库中找到这 10 个文档。

我从 PC 和服务器运行的代理有一些不同之处:

  1. 我有 Office 2010,服务器有 Office 2003,所以 SaveAs 方法使用不同的参数

    xlApp.ActiveWorkbook.SaveAs file_Path, 43 'for Office 2003
    
    xlApp.ActiveWorkbook.SaveAs file_Path, 56 'for Office 2010
    
  2. 从我的 PC 运行代理会将 Excel 文件保存在我的本地硬盘驱动器中。从服务器运行代理会将 Excel 文件保存在以下路径中:

    C:\Windows\SysWOW64\config\systemprofile\Desktop\FileName.xls
    

我的搜索声明:

search_Formula = {Form = "WORec" & SoftDelete != "Y" & WO_Dept="REPAIR" & } & _ 
    {WO_Status != "Completed" & WO_Status != "Declined" & } & _
    {@Like(WOBinNumber; "R%")}

我认为这两个差异中的任何一个都不会导致问题,但我不知道还能尝试什么,因为当它在服务器上运行时我无法单步执行代码。任何帮助表示赞赏。

4

1 回答 1

2

当您手动运行代理时,您将在当前用户的安全上下文中运行它。计划代理在服务器的安全上下文下运行。

如果文档上有阅读器字段,它们可能只对某些用户可见(即服务器,而不是您)。

如果您转到服务器并在服务器本身上启动 Notes,您可能会看到这些文档。

于 2013-03-26T15:42:50.930 回答