-
Подскажите, пожалуйста, как установить защиту на лист Excel в дельфи и как снять свойство некоторых ячеек "защищаемая".
Заранее спасибо.
-
Записать макрос и посмотреть?
-
> как установить защиту на лист Excel в дельфи
sheet.Protect(Password:='123');
> как снять свойство некоторых ячеек "защищаемая"
range.Locked := false;
-
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open[extractfilepath(Application.ExeName)+'Excel.xls'];
Excel.Workbooks.ActiveSheet.Range['A1'].Locked:=false;
При выполнении последней строки выдается сообщение об ошибке:
Methid ActiveSheet not supported by automation object
Не подскажете, в чем проблема?
-
> в чем проблема?
В том что у объекта-коллекции Workbooks нет объектного свойства ActiveSheet.
-
Но ведь
ShowMessage(Excel.Workbooks.ActiveSheet.Range['A1']);
работает
-
Нет, не работает. Не выдумывай.
ActiveSheet - это свойство объекта ExcelApplication, а не Workbooks.
-
спасибо, Сергей М. Действительно с глазками проблемы:)
не подскажите, пожалуйста, как грамотно завершить работу с файлом Excel
Excel.Quit; не убивает процесс Excel.exe.
-
Excel.Quit;
Excel := Unassigned;
-
Спасибо большое. Буду наглым и спрошу еще раз:
а как отменить вопрос Excel о сохранении файла, чтобы сделанные изменения не было необходимости подтверждать?
-
см. DisplayAlerts
-
Excel.DisplayAlerts:=0;
Спасибо!
-
ASheet.Range['B2', EmptyParam].HorizontalAlignment := xlLeft;
ASheet.Range['B2', EmptyParam].VerticalAlignment := xlCenter;
не подскажите, в чем ошибка?
-
> в чем ошибка?
А разве ты у себя на экране не видишь текст с сообщением об ошибке ?
-
> ASheet.Range['B2', EmptyParam]
Диапазон указывается или строковой переменной или двумя переменными типа диапазон. А у вас бред какой-то написан.
-
Удалено модератором
-
Удалено модератором