Главная страница
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
15-1221643996
DevilDevil
2008-09-17 13:33
2008.11.16
Define-ы версий Delphi ?


15-1221554711
melehov
2008-09-16 12:45
2008.11.16
Самоцель:создать БД для себя и всеобщего пользования сотрудников


15-1221660686
Пробежал...
2008-09-17 18:11
2008.11.16
Какие все таки отличия между D2007 Prof и Enterprise?


2-1223376642
DelphiN!
2008-10-07 14:50
2008.11.16
Помогите с оптимизацией SQL запроса


2-1223239360
Lamer6666
2008-10-06 00:42
2008.11.16
Как добавить свойство объекту?