2013-12-24 25 views
0

我具有由下面的代碼收到COMException引起Application.EditClear方法

MSProject.Application mspApp; 
bool result = mspApp.SelectColumn(Constants.ACTUALS_RECENT_INDEX, Missing.Value, Missing.Value, Missing.Value); 
mspApp.EditClear(Missing.Value, Missing.Value, Missing.Value, Missing.Value); 

結果的值是true一個收到COMException。

這裏的例外:

System.Runtime.InteropServices.COMException(0x000003EC):與方法發生意外錯誤。

在System.RuntimeType.ForwardCallToInvokeMember(字符串成員名稱,標誌的BindingFlags,對象目標,的Int32 [] aWrapperTypes,MessageData & MSGDATA)

在Microsoft.Office.Interop.MSProject._MSProject.EditClear(對象內容,對象格式,對象註釋,對象超鏈接)

有人知道這個異常的原因嗎?

回答

0

聽起來,這是獲得所選列是一個只讀字段,如ID,唯一ID,項目等

確保被選擇的列是你真正想要的。你可以通過在運行時創建一個表(並應用它)來做到這一點,這樣你可以確信用戶沒有改變活動視圖和/或基礎表。

+0

謝謝瑞秋。 你知道如何判斷列是否只讀嗎? –

0

根本原因是調用EditClear函數時應用了自定義過濾器。此過濾器將導致表中沒有數據。如果不使用過濾器,問題就會消失。

相關問題