是否可以防止用戶對某些特定單元格進行修改?我可以使用VSTO加載項來插入Excel事件。如何防止特定細胞的修飾?
1
A
回答
1
看看Worksheet.Change Event。這個事件需要一個Range對象。據我記得,這些對象包含有關選擇哪些單元的信息。然後你可以用這個單元格做任何你想要的link。
1
我的方法稍有不同。
我保護完整的工作表,然後解鎖特定的單元格或列或行,以便用戶可以填寫這些工作表中的詳細信息。但你應該得到與此相同的結果。
的代碼對VS 2008
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
var activesheet = (Excel.Worksheet)this.Application.ActiveSheet;
// keep particular cell unlocked
activesheet.get_Range("A1",missing).Locked = false;
// keep entire row unlocked
activesheet.get_Range("B2", missing).EntireRow.Locked = false;
// keep entire column unlocked
activesheet.get_Range("C1", missing).EntireColumn.Locked = false;
// keep particular range (D4 - E8) unlocked
activesheet.get_Range("D4","E8").Locked = false;
activesheet.Protect(missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing);
}
經測試當用戶單擊鎖定的單元格,Excel會引發警報消息稱細胞被鎖定。它煩人的用戶。您可以禁用displayalerts
。
只需使用
this.Application.DisplayAlerts = false;
在
ThisAddIn_Startup(object sender, System.EventArgs e)
剛剛宣佈var activesheet
之前,不要忘了在再次使用
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
this.Application.DisplayAlerts = true;
}
這會照顧惱人警報消息的啓用它。
相關問題
- 1. 如何防止表細胞從擴大
- 2. 如何防止細胞週轉效應?
- 3. 禁止特定細胞拉伸
- 4. PowerBI - 特定細胞
- 5. 如何修改在細胞
- 6. Python的大熊貓防止細胞
- 7. ARRAYFORMULA特定的細胞
- 8. 計數特定細胞
- 9. 如何在細胞中點擊修改特定的單元格的值,並設置回細胞
- 10. 如何分配在Matplotlib表特定顏色的特定細胞?
- 11. 如何XLSX寫和修改的細胞
- 12. 如何修改cellForRowAt斯威夫特之外的細胞
- 13. 我該如何防止所有細胞被染色?
- 14. 如何防止「#Div/0!」在計算細胞(Aspose Cells)中?
- 15. 防止使用靜態修飾符
- 16. PHPExcel鎖定特定的細胞
- 17. 如何識別裏面超過5秒的UITableView細胞修飾用戶
- 18. 從UILongPressRecognizer確定細胞的細胞
- 19. UITable Matlab的 - 訪問特定的細胞
- 20. 的Javascript:寫在特定的細胞
- 21. 如何創建checkstyle規則防止特定的修改clasess
- 22. 如何修改jscript以防止滾動的特定鏈接?
- 23. 如何細胞
- 24. 中選擇特定的細胞
- 25. 給裕一個特定的細胞,UICollectionVIew
- 26. 值添加特定的細胞
- 27. 從特定細胞中的另一片
- 28. 查找特定細胞的Excel VBA宏
- 29. 訪問特定的細胞加載VSTO
- 30. 提取特定的細胞從網表
我知道如何爲vsto excel工作簿做到這一點。我應該把它作爲答案嗎?插件和工作簿的代碼應該類似.. –