Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ExcelWorkbook.WriteReserved [D7, XP]


Ega23 ©   (2007-12-28 11:50:00) 

Ситуация.
Ставлю пароль на Excel-документ (пароль на запись). Т.е., судя по описанию, терминальный флаг WriteReserved должен быть True
Открываю документ:

 try
   wb := XL.Workbooks.Open(OpenDlg.FileName, EmptyParam, True, EmptyParam,
                           '**************', EmptyParam, EmptyParam, EmptyParam,
                           EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                           EmptyParam, 0);

   if wb.WriteReserved[0] then
   //if wb.ReadOnly[0] then
     Memo1.Lines.Add('WriteReserved')
   else
     Memo1.Lines.Add('Not WriteReserved');
 finally
   wb := nil;
 end;


Предполагается, что я его открываю только на чтение (выделено True).
Если посмотреть, то wb.ReadOnly[0] - действительно выполняется (т.е. сам workbook действительно открыт только для чтения).
Но. wb.WriteReserved[0] почему-то false.

В чём может быть проблема?


Ega23   (2007-12-28 11:54:00) [1]

Причём.
wb := XL.Workbooks.Open(OpenDlg.FileName, EmptyParam, True, EmptyParam,
                          '**************', 'writepassword', EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, 0);


если в качестве writepassord поставить реальный пароль, то тогда терминальный флаг WriteReserved действительно становится True


Наверх

Титульная страница Поиск, карта сайта Написать письмо