Имя: Пароль:
1C
 
Как запаролить созданный Экселевский файл?
Ø
0 biimmap
 
21.07.06
17:50
Я создаю программно Экселевский файл из печатной формы, записываю его благополучно, потом мне нужно его запаролить и послать по почте. как послать по почте это я знаю, а как на ненго пароль поставить??? чтоб пользователь в диалоге написал пароль и он поставился на Экселевский файл.
1 vipersw
 
21.07.06
17:56
пароль в экселе? а что есть такой? во я нуп )))
предлагаю файл заархивировать и запоролить архив
2 Young
 
21.07.06
19:14
Worksheet.Protect("password",-1,-1,-1,,-1);
3 VicAlex
 
21.07.06
19:19
Навскидку, что-то типа:
Procedure Пароль()
  Excel=CreateObject("Excel.Application");
  PSW=Excel.InputBox ("Введите пароль");
  Book = Excel.Workbooks.Open("C:\AAA.xls");
  book.Password = PSW;
  Book.Close();
EndProcedure
путь к файлу передать в процедуру, где ты там его сохраняешь. Вообще тут куча вариантов.
4 biimmap
 
22.07.06
15:37
пишет что поле агрегатного объекта не обнаружено Password. каковы будут ещё предложения? если кто может напишите обработку в которой можно выбрать файл и запаролить его...
5 Хоменко Валерий
 
22.07.06
15:53
Когда-то пробовал:
РабочаяКнига.SaveAs("C:\333.xls",-4143, "1","2",0,0);//Сохранить с паролями "1","2"
6 biimmap
 
22.07.06
17:09
не работает этот метод
7 VicAlex
 
22.07.06
17:18
Для тебя написал учебную ПНК:
 Procedure Пароль(Путь)
  Excel=CreateObject("Excel.Application");
  PSW=Excel.InputBox ("Введите пароль");
  Book = Excel.Workbooks.Open(путь);
  book.Password = PSW;
  Book.Close();
 EndProcedure
 //--------------------------------------------------
 Процедура Печать()
  Таб = СоздатьОбъект("Таблица");
  Таб.ИсходнаяТаблица("Печать");
  Таб.ВывестиСекцию("Шапка");
  Таб.Опции(0,0,0,0);
  ВыбратьСтроки();
  Пока ПолучитьСтроку() = 1 Цикл
  Таб.ВывестиСекцию("Строка");
  КонецЦикла;
  Таб.ВывестиСекцию("Подвал");
  Таб.ТолькоПросмотр(1);
  Если СохранитьВxls=1 Тогда
    Имя=НомерДок+"-"+ДатаДок;
    Кат="";
    Если Фс.ВыбратьФайл(0,Имя,Кат,"Выберите файл","Таблицы(*.XLS)",)=1 Тогда
      Таб.Записать(Кат+Имя,"XLS");
    КонецЕсли;
    Пароль(Кат+Имя);
  Иначе
    Таб.Показать("Печать Пнк","");
  КонецЕсли;
КонецПроцедуры
все проходит.
СохранитьВxls - флажок на форме документа.
8 biimmap
 
22.07.06
23:08
ну то ли я дурак то ли лыжи кривые дали... пишет следующее:
book.Password = PSW;
{Документ.ПлатежноеПоручение.Форма.Модуль(17)}: Поле агрегатного объекта не обнаружено (Password). я поставил у себ твою процедуру Пароль, передал туда только путь к уже существующему файлу и нифига. может дашь мыло я тебе МД-шник скину? сам глянешь!?
9 VicAlex
 
22.07.06
23:45
давай: prom1856<собака>rambler.ru