Имя: Пароль:
1C
 
Форматирование страницы Excel
Ø
0 Medvegenok
 
16.05.06
23:58
Доброе время суток.
Проблема следующего рода: из 1С выводится отчет в Excel, но как страницу отформатировать, то есть как выставить "разместить не более чем..."
В общем то, вся проблема состоит в том, что zoom надо проставить как False
Может кто сталкивался с такой проблемой?
Заранее благодарен!
1 Дурочка 1С ®
 
17.05.06
00:25
F1 для VB - читать внимательно ...
2 Medvegenok
 
17.05.06
00:29
А что именно читать?
Каким образом из 1С можно передать сладующее:
объект.activesheet.pagesetup.zoom = false
3 Дурочка 1С ®
 
17.05.06
00:32
Читать: числовые аналоги ...
4 Medvegenok
 
17.05.06
00:34
я конечно прошу прощения
но у данного метода значения могут быть от 10 до 400
5 smaharbA
 
17.05.06
01:10
(3) лажанулась
6 Дурочка 1С ®
 
17.05.06
01:24
Excel.ActiveSheet.PageSetup.PrintArea = "";
_ActiveSheet.Zoom = 0;
7 Дурочка 1С ®
 
17.05.06
01:31
+(6)
_ActiveSheet = Excel.ActiveSheet.PageSetup;
_ActiveSheet.Zoom = 0;
8 smaharbA
 
17.05.06
01:32
(6)(7) А пробовала ?
9 Сергун
 
17.05.06
01:32
(5) даже если бы и лажанулась, и что, есть повод для радости? быдло!
10 smaharbA
 
17.05.06
01:34
(9)
Как ты разговариваешь с офицером...(с)
Не вижу препятствий...(с)
11 smaharbA
 
17.05.06
01:36
//*******************************************
Процедура Сформировать()
  Ексель=СоздатьОбъект("Excel.Application");
  Книга=Ексель.WorkBooks.Add();
  Лист=Книга.Worksheets(1);
  ПараметрыСтраницы=Лист.PageSetup;
  Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
  Скрипт.Language="javascript";
  Скрипт.AddObject("ПараметрыСтраницы",ПараметрыСтраницы);
  Скрипт.Eval("ПараметрыСтраницы.Zoom=false");
  ПараметрыСтраницы.LeftMargin = Ексель.Application.CentimetersToPoints(2);
  ПараметрыСтраницы.RightMargin = Ексель.Application.CentimetersToPoints(1);
  ПараметрыСтраницы.TopMargin = Ексель.Application.CentimetersToPoints(1);
  ПараметрыСтраницы.BottomMargin = Ексель.Application.CentimetersToPoints(1);
  ПараметрыСтраницы.HeaderMargin = Ексель.Application.CentimetersToPoints(0.7);
  ПараметрыСтраницы.FooterMargin = Ексель.Application.CentimetersToPoints(0.7);
  Лист.Range("a1:z50").value=10;
    Лист.PrintOut();
КонецПроцедуры
12 WAR
 
17.05.06
06:36
2(0) Я в таком случае у себя делал екселевский файл, устанавливал ему zoom false, клал в каталог программы, потом брал его оттуда, заполнял, и потом делал saveas. Короче юзал его в качестве шаблона.
Подойдет вариант?
13 smaharbA
 
17.05.06
06:48
Еще один Фома-неверующий...
14 Natalia
 
17.05.06
09:30
Числовые аналоги - в этом случае не помогут.
Вот работающий вариант:
  РабочаяКнига=ОкноЕхс.Workbooks.Open(ИмяФайла);
  Зн =1+ОкноЕхс.VBE.ActiveVBProject.VBComponents.Count();
  ОкноЕхс.VBE.ActiveVBProject.VBComponents.Add(1);
  ОкноЕхс.VBE.ActiveVBProject.VBComponents(Зн).CodeModule.InsertLines (1, "Sub Zoom(S)");
  ОкноЕхс.VBE.ActiveVBProject.VBComponents(Зн).CodeModule.InsertLines (2, "Worksheets(S).PageSetup.Zoom= False");
  ОкноЕхс.VBE.ActiveVBProject.VBComponents(Зн).CodeModule.InsertLines (3, "End Sub");
  ОкноЕхс.Application.Run ("Zoom(1)");
  Module=ОкноЕхс.VBE.ActiveVBProject.VBComponents(Зн);
  ОкноЕхс.VBE.ActiveVBProject.VBComponents.Remove(Module);
  ОкноЕхс.DisplayAlerts=0;
  РабочаяКнига.SaveAs(ИмяФайла,-4143);
  ОкноЕхс.DisplayAlerts=1;
15 smaharbA
 
17.05.06
09:50
(14) Еще одна, а какже с доверием к проекту ВБА ?
16 Natalia
 
17.05.06
09:57
(15) о доверии - ставим птички конечно предварительно в нужных местах... ))
17 smaharbA
 
17.05.06
10:15
(16) Можно из 1С выставить фалсе, не прибегая к ВБА
18 Gloom
 
17.05.06
10:19
Для русского офиса:
myWorksheet.select();
excelApp.ExecuteExcel4Macro("ПАРАМЕТРЫ.СТРАНИЦЫ(;;;;;;;;;;;;ИСТИНА)");
Для американского:
myWorksheet.select();
excelApp.ExecuteExcel4Macro("PAGE.SETUP(,,,,,,,,,,,,TRUE)");
19 Natalia
 
17.05.06
11:05
(18) Здорово )) Отправила в "копилку".
20 smaharbA
 
17.05.06
11:10
(19) Gloom молодец, а что (11) не в "копилке" ? метода даже ничего себе, поверь пригодится, если внимательно позырить... :)
21 Medvegenok
 
17.05.06
11:23
Gloom, Спасибо огромнейшее!
А то я уже отчаялся!
Внешние компоненты стал копать.
22 Natalia
 
17.05.06
11:24
(20) это тоже в копилке ))
...И почему, когда я такую же тему поднимала года четыре назад - никто так и не помог? )) просто "молчание сусликов" какое-то было.
23 smaharbA
 
17.05.06
11:28
(21) Всеже рекомендую к (11) приглядеться, ой как сгодится если надо будет работать с ОО...
(22) Gloom незнаю почему молчал, а я адинесник тока с начала 2005 года...
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.