2013-10-20 61 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會要求它不顯示。