[英]Open an excel file in exclusive mode using interop in C#
在我的應用程序中,我希望能夠打開已存在的excel文件,並向此文件添加信息。 我使用Microsoft Interop庫。 我注意到,如果使用“添加”然后“保存”創建新電子表格,則可以將文件設置為獨占模式,直到關閉Excel應用程序。
但是,在打開現有文件時,我還沒有找到相同的方法。 我想這樣做的原因是,如果我在應用程序打開時打開excel文件,那么我會得到一個例外。 我假設當我使用excel打開excel文件時,它會以獨占模式自動打開。
我雖然打開文件然后使用saveas,但它沒有用。
private object missing=Type.Missing;
workbook = workbooks.Open(excelfilename,missing, false, missing, missing, missing,missing,missing,missing,missing,false, missing,missing, missing, missing);
workbook.SaveAs((String)excelfilename, missing, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlExclusive, Excel.XlSaveConflictResolution.xlLocalSessionChanges, missing, missing, missing, missing);
我稍后在代碼中得到異常:
Excel.Range testrange = sheet.get_Range(rangetext);
我得到的異常是一個COMException,“來自HRESULT的異常:0x800401A8”。
查看Workbook類的ExclusiveAccess屬性: http : //msdn.microsoft.com/en-US/library/microsoft.office.tools.excel.workbook.exclusiveaccess(v = vs。80).aspx
您可以轉到本文以獲取有關如何使用Microsoft互操作庫打開Excel文件/添加新工作表/獲取范圍和設置屬性的完整示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.