簡體   English   中英

獲取Excel異常“無法設置范圍類的NumberFormat屬性”

[英]Get an Excel exception “Unable to set the NumberFormat property of the Range Class”

當我通過VSTO雙擊excel中的一個單元格時出現此異常

我的代碼如下:

Worksheet worksheet = (Worksheet)Globals.ThisAddIn.Application.ActiveSheet;
Range range = worksheet.Range[entry.Key, System.Type.Missing];
range.NumberFormat = "DD-MMM-YYYY";

當我使用Tab鍵或任何箭頭鍵時,它可以完美地工作

任何輸入將不勝感激。

可能是因為此時您雙擊該單元格,該單元格處於編輯狀態,當您處於編輯狀態時,您無法更改該單元格/范圍。

您無法通過使用工作表選擇事件來實現所需的功能,該事件會在工作表上的選擇發生更改時觸發?

請注意,已經單擊具有焦點的單元格不會觸發此事件。

https://msdn.microsoft.com/zh-CN/library/office/ff194470.aspx

當我通過VSTO雙擊excel中的一個單元格時出現此異常

由於Excel處於編輯模式,因此代碼中出現異常。 使用以下代碼以編程方式確定狀態:

Private Function IsEditing () As Boolean
    Dim cBars As Office.CommandBars = ExcelApp.CommandBars
    Dim result As Boolean = Not cBars.GetEnabledMso("FileNewDefault")
    Marshal.ReleaseComObject(cBars)
    Return result
End Function

有關更多信息,請參見如何以編程方式檢查用戶是否正在編輯Excel單元格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM