0

我想在 Lotus Notes 文档中保存一个 OLE Excel 对象(MS Excel 2000 格式),以使其可供 MAC 和浏览器用户使用。在我将它附加到新的 Notes 文档后,MS Excel 2010 无法正确打开它。该文件本身似乎在某种程度上是有效的,因为我可以使用 IE 或 Windows Explorer 甚至使用 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”方法的任何替代方法。

4

1 回答 1

0

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

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

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

启用 :

语法 Set handleV = notesEmbeddedObject.Activate( show )

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

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

于 2013-10-24T16:15:30.403 回答