将Notes Excel对象保存为Excel文件

时间:2013-10-20 12:28:44

标签: excel vba excel-vba lotus-notes lotusscript

我想在Lotus Notes文档中保存OLE Excel对象(MS Excel 2000格式),以使其可供MAC和浏览器用户使用。将其附加到新的Notes文档后,MS Excel 2010无法正确打开它。文件本身似乎在某种程度上是有效的,因为我可以使用IE或Windows资源管理器或甚至Lotus Notes预览分离和预览它。只有MS Excel 2010无法显示Excel文档。

这里我的代码将OLE文件解压缩到文件系统:

dirLN = s.GetEnvironmentString("Directory",True)
subdirLN = "\"

Select Case dokArt
    Case "Excel"
        anhangLN = "anhang.xlsx"
    Case "PowerPoint"
        anhangLN = "anhang.pptx"
    Case "Word"
        anhangLN = "anhang.docx"
    Case Else
        Exit function
End Select

Set rtitem = doc.GetFirstItem("Body")

For i = 0 To UBound(rtitem.EmbeddedObjects)
    Set objDoc = rtitem.EmbeddedObjects(i)
    dateiLN =dirLN+subdirLN+anhangLN

    Set oHandle = objDoc.Activate(False)    
    Call oHandle.savecopyAs(dateiLN)
Next

这就是我将其附加回文档的方式

    'Anhang anhängen
Set rtItem = New NotesRichTextItem(doc,"Body")
Call rtItem.Embedobject(1454, "", dateiName)

如何以正确的格式保存Excel文件?我尝试了几种方法,但在句柄中找不到“savecopyas”方法的替代方法。

1 个答案:

答案 0 :(得分:0)

我认为您说在任何类型的分离之后,您无法使用Excel打开文档,在这种情况下,已经提供的评论可能适用

但是如果你的意思是它不会立即在屏幕上打开..

Notes帮助引用了重新激活方法:

激活:

语法 设置handleV = notesEmbeddedObject.Activate(show)

参数 节目 布尔。如果为True,则服务器应用程序显示其用户界面。如果为False,则服务器应用程序隐藏其用户界面。

如果这在用户的客户端上运行,则Activate方法中的False会要求它不显示。