Range range= (Range)this.workSheet.Cells[1,1];
range.AllowEdit = false;
Cuando establece la propiedad AllowEdit
a falso, un error de compilación mostrará:¿Cómo hacer una celda de Excel ReadOnly usando C#?
Error: Property or indexer 'Microsoft.Office.Interop.Excel.Range.AllowEdit' cannot be assigned to -- it is read only
¿Cómo se establecen el rango de celdas a ser de sólo lectura?
Cuando estoy usando la validación para este rango obtuve algunas excepciones en mi evento CellContentChanged.
Aquí está el código que se encuentra en CellContentChanged:
var updater = new Action<StyleColorItem>(
item =>
{
var editedItem = _taskViewModel.TrackedItems.First(it => it.Id == item.Id);
// Above line I am getting the exception like "Sequence contains no matching element"
editedItem.Update(item);'
});
Una celda de Excel se puede establecer en '' solo lectura'solo de establecer su propiedad 'Bloqueado = Verdadero' y luego establecer' Hoja de trabajo = Protegido'. No sé si es fácil hacerlo por código C#, pero podrías intentarlo. – Schaliasos