如何通过 lotusscript 代理保存 csv 文件

How to save a csv file through an lotusscript agent

我有一个 lotusscript 代理,它需要将 excel sheet(一个 csv 文件)中一个单元格的内容移动到另一个单元格。以下是一段代码:

Dim xlApp As Variant, xlwb As Variant, xlsheet As Variant
Set xlApp = CreateObject ( "Excel.Application" )
Set xlwb = xlApp.Workbooks.Open(StrFilePath) 'strFilePath is the path to csv file
Set xlsheet = xlwb.Worksheets(1)
'Logic to check necessary cells in the excel sheet goes here...
'Following two lines move the contents from (p,1) to (1,n)
xlsheet.cells(1,n).value = xlsheet.cells(p,1).value
xlsheet.cells(p,1).value = ""

现在,当我在移动内容后尝试保存此 csv 文件时,问题出现了。 我使用下面的行来保存文件:

xlwb.SaveAs(StrFilePath)

此方法不会return任何错误。但是文件没有保存。

然后我也尝试使用下面的行来保存文件:

xlApp.activeworkbook.SaveAs(StrFilePath)

这个方法returns "Automation object error".

这两种方法都没有保存文件。此时,代理无法进一步执行。

然后,代理需要使用 FileCopy 语句将此文件从路径 StrFilePath 移动到另一个目录。此时,代理抛出 "Permission denied" 错误。

文件存在于服务器D盘的目录中。 也给了代理 "Allow restricted operations with full administration rights".

有人可以告诉我保存此 csv 文件的正确方法是什么以及如何为要保存的文件提供必要的权限吗?

谢谢!

好的,所以我更深入地挖掘并找到了解决方案。

以下代码行对我有用,文件已成功保存。

xlApp.ActiveWorkBook.save

然后我刚刚添加了以下几行用于清理...(这不是我的问题的一部分,但写在这里只是为了完成)

xlApp.ActiveWorkBook.close 
xlApp.quit
Set xlApp = Nothing

但我不确定为什么 SaveAs 不起作用。 post 如果我找到这个问题的答案。