Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   No Permitir modificar una celda de Excel (https://www.clubdelphi.com/foros/showthread.php?t=65781)

Viky 12-01-2010 20:36:31

No Permitir modificar una celda de Excel
 
Desde mi aplicacion en delphi 6.0, genero un archivo en excel, quisiera saber si existe la posibilidad de "bloquear" de algunas celdas para no permitir que el usuario modifique.

Gracias
Viky.

luisgutierrezb 12-01-2010 21:57:18

Pues si mal no recuerdo, puedes grabar una macro donde lo hagas directo en una hoja de excel, despues ves el codigo de la macro que te genero y lo utilizas desde delphi

Neftali [Germán.Estévez] 13-01-2010 10:18:39

Si no recuerdo mal, el propio excel tiene opciones para bloquear Celdas, accediendo desde el formato de Celda.
Para ello debes proteger la hoja completa y luego desbloquear todas las celdas excepto las que quieras bloquear.

Se trata de ver cómo loquear y desbloquear celdas desde Excel (formato) y cómo bloquear la hoja (método Protect).

Tal vez este código te pueda servir de ayuda.

Código Delphi [-]
var
  R1 : TOpExcelRange;
begin
  ....
  R1 := WS.Ranges.Add;
  R1.Address := 'A1';

  if CheckBox1.Checked then begin
    R1.AsRange.Locked :=  False; // Set the range (cell A1) to unlocked so
we can still edit it
    WS.AsWorksheet.Protect(EmptyParam, True, True, True, True, 0);
    ShowMessage('Worksheet protected...');
  end else begin
    R1.AsRange.Locked :=  True; // Set the range (cell A1) to the default
locked state
    WS.AsWorksheet.Unprotect(EmptyParam, 0);
    ShowMessage('Worksheet Unprotected...');
  end;
end;


La franja horaria es GMT +2. Ahora son las 04:06:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi