2013-10-20 51 views
0

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

如果对象是Excel 2000,那么它实际上不能是.xlsx格式,可以吗? (如果内存对我有用,Excel 2007引入了.xlsx格式。)因此,Excel 2010可能会看到.xlsx扩展名,并且无法处理数据实际上是旧格式的事实。如果保存到.xls文件而不是.xlsx,会发生什么情况? –

+0

我第二次理查德的第一印象 –

回答

0

我觉得你说的任何一种支队后,无法打开与Excel文档,在这种情况下可能已提供的意见适用

,但如果你的意思是好好尝试打开屏幕马上..

票据帮助引号重新激活方法:

激活:

语法 设置handleV = notesEmbeddedObject.Activate(显示)

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

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