Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

XLS c паролем :(   Найти похожие ветки 

 
9899100   (2008-10-08 11:37) [0]

подскажите как при открытии запороленного 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 11:42) [1]

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


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

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


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

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

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


 
sniknik ©   (2008-10-08 11:55) [4]

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


 
Palladin ©   (2008-10-08 11:55) [5]

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


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

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


 
Palladin ©   (2008-10-08 11:59) [7]

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

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];


 
sniknik ©   (2008-10-08 12:01) [8]

тогда подключи не через вариант а через обьект (серверы 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;


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

от спасибо :)

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.11.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
2-1223370793
Gurd
2008-10-07 13:13
2008.11.16
kaCtrls


2-1223454487
Hash
2008-10-08 12:28
2008.11.16
Определить тип константы


15-1221609374
Германн
2008-09-17 03:56
2008.11.16
WM_USER +100 vs WM_USER +400


2-1223038816
fellow
2008-10-03 17:00
2008.11.16
onmouseup и dbgrid


2-1222265965
Добежал
2008-09-24 18:19
2008.11.16
Наследники TList