Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пароли на Excel, нужно ввести пароль 
V
    Опции темы
MItornaDOS
  Дата 24.2.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 1.8.2007
Где: UA

Репутация: нет
Всего: нет



Нужно ввести пароль на открытие/изменение данных при работе с Excel

работаю с екселём так:
Код
var ex:variant;
    s:string;
begin
  ex:=CreateOleObject('excel.application');
  ex.Visible:=False;
  Ex.DisplayAlerts:=False;
  ex.WorkBooks.Open('d:\test.xls');
  s:=VarToStr(ex.ActiveWorkBook.ActiveSheet.Cells.Item[1,3]);
  ex.ActiveWorkBook.ActiveSheet.Cells.Item[1,3]:='БУГОГА';
  ex.Application.Save;
  ex.Application.Quit;
  ex:=UnAssigned;
end;

Помогите плз ввести пароль...
и ещё, если можно как его изменять, ставить и т.п.
PM MAIL ICQ   Вверх
kemiisto
Дата 24.2.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(MItornaDOS @  24.2.2008,  10:34 Найти цитируемый пост)
Нужно ввести пароль на открытие/изменение данных при работе с Excel


Что конкретно нужно защитить: весь документ, лист, ячейку??? Насколько я понял - весь документ. Если так, то:

Код

var ex:variant;
    s:string;
begin
  ex:=CreateOleObject('excel.application');
  ex.Visible:=False;
  Ex.DisplayAlerts:=False;
  ex.WorkBooks.Open('d:\test.xls');
  s:=VarToStr(ex.ActiveWorkBook.ActiveSheet.Cells.Item[1,3]);
  ex.ActiveWorkBook.ActiveSheet.Cells.Item[1,3]:='БУГОГА';
  //пароль на открытие
  ex.ActiveWorkBook.Password := 'OpenPass';
  //пароль на изменение
  ex.ActiveWorkBook.WritePassword := 'EditPass';
  //сохраняем
  ex.ActiveWorkBook.Save;
  ex.Application.Quit;
  ex:=UnAssigned;
end;



--------------------
PM MAIL WWW GTalk Jabber   Вверх
MItornaDOS
Дата 24.2.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 1.8.2007
Где: UA

Репутация: нет
Всего: нет



Немножко не так, защита уже стоит. Нужно открыть документ, оно спросит пароль, ввести пароль отредактировать данные и выйти
как мне ввести пароль?
PM MAIL ICQ   Вверх
kemiisto
Дата 24.2.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Так бы и сказал. 
Вместо:
Код

ex.WorkBooks.Open('d:\test.xls');

пиши:
Код

ex.WorkBooks.Open('d:\test.xls', Password := 'OpenPass', WriteResPassword := 'EditPass');


P.S. Вот еще что. Маленький совет на будующее. Есть такая штука Excel (Word, ...) Developer Reference. открываем Excel (Word, ...) 2007, включаем вкладку Разработчик, на этой вкладке нажимаем кнопочку Visual Basic. В VB жмем F1, вводим запрос  (например, Open) и пожалуйста! Находим то, что нужно, внимательно изучаем.
Точно сказать не могу, но по моему в 2003 тоже есть этот самый Developer Reference!

Добавлено через 1 минуту и 59 секунд
Вот это
Код

  //пароль на открытие
  ex.ActiveWorkBook.Password := 'OpenPass';
  //пароль на изменение
  ex.ActiveWorkBook.WritePassword := 'EditPass';

можно убрать.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
MItornaDOS
Дата 25.2.2008, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 1.8.2007
Где: UA

Репутация: нет
Всего: нет



Цитата(kemiisto @  24.2.2008,  16:09 Найти цитируемый пост)
открываем Excel (Word, ...) 2007

ненавижу MS Office 2007
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0929 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.