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

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

XLS c паролем :(


9899100 ©   (2008-10-08 11:37:00) 

подскажите как при открытии запороленного XLS программно указать пароль ??

Var XL:Variant;
begin
XL := CreateOleObject('Excel.Application');
XL.DisplayAlerts := false;
XL.WorkBooks.Open('d:\temp\book.xls');
Label1.Caption:=XL.WorkBooks[1].WorkSheets[1].CElls[0,0];

выдает ексель с запросом пароля


Palladin   (2008-10-08 12:03:00) [1]

нафика, в самом редакторе макросов все видно


9899100   (2008-10-08 12:02:00) [2]

от спасибо :)

а я как раз сам нарыл :))
XL.WorkBooks.Open(FileName := 'd:\temp\book.xls', Password := 'bravo');


sniknik   (2008-10-08 12:01:00) [3]

тогда подключи не через вариант а через обьект (серверы excel), хотя бы для примера, и смотри там методы ->

 Workbooks = interface(IDispatch)
   ['{000208DB-0000-0000-C000-000000000046}']
   function Get_Application: ExcelApplication; safecall;
   function Get_Creator: XlCreator; safecall;
   function Get_Parent: IDispatch; safecall;
   function Add(Template: OleVariant; lcid: Integer): ExcelWorkbook; safecall;
   procedure Close(lcid: Integer); safecall;
   function Get_Count: Integer; safecall;
   function Get_Item(Index: OleVariant): ExcelWorkbook; safecall;
   function Get__NewEnum: IUnknown; safecall;
   function _Open(const Filename: WideString; UpdateLinks: OleVariant; ReadOnly: OleVariant;
                  Format: OleVariant; Password: OleVariant; WriteResPassword: OleVariant;
                  IgnoreReadOnlyRecommended: OleVariant; Origin: OleVariant;
                  Delimiter: OleVariant; Editable: OleVariant; Notify: OleVariant;
                  Converter: OleVariant; AddToMru: OleVariant; lcid: Integer): ExcelWorkbook; safecall;


Palladin   (2008-10-08 11:59:00) [4]

хм, и вправду не написал, негодяй... ну тогда держи, болезный :)

Var XL:Variant;
begin
XL := CreateOleObject('Excel.Application');
XL.DisplayAlerts := false;
XL.WorkBooks.Open(FileName:='d:\temp\book.xls',Password='мой супер секретный пароль 123');
Label1.Caption:=XL.WorkBooks[1].WorkSheets[1].CElls[0,0];


9899100   (2008-10-08 11:58:00) [5]

попробовал
записал
но там нет ввода пароля :((
тока открыть и все


sniknik   (2008-10-08 11:55:00) [6]

а ты начинай макрос до открытия файла...


Palladin   (2008-10-08 11:55:00) [7]

да точно такжеш...
открываем Excel
идем в Сервис\Макрос\Начать запись
открываем файл с паролем, введя его
идем в Сервис\Макрос\Макросы
находим и выделяем свежезаписанный макрос и нажимаем на кнопку "Изменить"
наслаждаемся макросом


9899100   (2008-10-08 11:53:00) [8]

вот такой вот макрос записался
Sub Макрос1()

   ChDir "D:\temp"
   Workbooks.Open Filename:="D:\temp\book.xls"
End Sub


9899100   (2008-10-08 11:51:00) [9]

какжеш я его запишу ежели запрос пароля при открытии файла выдаеться


Palladin   (2008-10-08 11:42:00) [10]

запиши макрос и посмотри


Наверх

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