2013-03-02 92 views
0

在Excel中雙擊單元格時會發生什麼情況?在Excel中雙擊單元格時會發生什麼情況?

我想知道這一點,因爲我必須控制在excel查看器中的單元格中輸入數據,在這種情況下用戶不允許在單元格中輸入任何內容,除非他雙擊它。

我用下面的代碼,以防止未經雙擊輸入數據的活動工作表:

myActiveWorksheet.Protect("password", Type.Missing, true, true, Type.Missing, true, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
false, false, true); 

它工作正常,並做正是我想要的。

但就當上cell.I用戶雙擊已寫在ActiveWorkbook的SheetBeforeDoubleClick事件處理程序下面的代碼來取消紙張,以便用戶可以在單元格中輸入他的數據出現問題:

myActiveWorksheet.Unprotect("password"); 
target.Locked = false; 

,並在SheetChange事件處理程序下面的代碼再保護它:

target.Locked = true; 
myActiveWorksheet.Protect("password", Type.Missing, true, true, Type.Missing, true, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    false, false, true); 

但是第二保護代碼(我指的是一個在SheetChange事件處理程序)不正常工作,使用戶可以輸入每個細胞無線只需點擊一下即可。

我有2個猜測關於原因:

1)有事與Excel雙擊過程使所述片材將是未受保護的。

2)SheetChange事件處理程序的目標參數不指向更改的單元格。

回答

1

Ey Val ...

我找到了我的解決方案。 我應該使用的

myActiveWorksheet.Cells.Locked = true; 

代替

target.Locked = true; 
在SheetChange事件處理

相關問題