![]() |
![]() |
![]() |
|
Перевод в структуру документа excel документа созданного word | ☑ | ||
---|---|---|---|---|
0
falselight
01.08.17
✎
11:40
|
Необходимо сделать макетами документы созданные в word.
Для последующей печати их из 1с. Если бы они были созданы в excel то перенести из excel документ в макет было бы просто, со всей иерархией табличного документа. Из word придется либо создавать построчно, по секционный вывод. Или искать метод, что бы перенести в макет и он там встал бы на место. Примерно хоть. По столбцам и строкам. Не известен ни кому подобный метод переноса документа из word в excel? |
|||
1
МихаилМ
01.08.17
✎
11:52
|
||||
2
Fish
гуру
01.08.17
✎
11:55
|
(0) Для некоторых документов (если это не таблицы), лучше Ворд использовать.
|
|||
3
falselight
01.08.17
✎
12:00
|
(1) Так мне нужно из excel в word .
(2) Таи и с таблицами и без. Как потом из ворда в макет 1с переносить? Детально только если. А из excel копированием всего. |
|||
4
falselight
01.08.17
✎
12:01
|
(3) Точнее нужно из word в excel, а там наоборот.
|
|||
5
Fish
гуру
01.08.17
✎
12:02
|
(3) "Как потом из ворда в макет 1с переносить? " - А зачем? Заполняй прямо в Ворде. Механизмы по заполнению макетов Ворда есть в некоторых типовых, например в ДО.
|
|||
6
catena
01.08.17
✎
12:03
|
Делай макет ворд, зачем его переносить-то?
|
|||
7
falselight
01.08.17
✎
12:04
|
(1) А есть вижу и так есть, попробую.
(5) как то привык делать макетами. А так же нужно что бы где то шаблон что бы лежал, или грузить его в 1с. Там ещё в механизмах нужно разбираться будет. |
|||
8
falselight
01.08.17
✎
12:04
|
(6) Не совсем знаком что ли, хотя делал такое.
Ну а можно пример, на основе чего что бы начать делать? Макет на диске должен лежать, word? |
|||
9
Fish
гуру
01.08.17
✎
12:05
|
(8) Да где угодно. Хоть в специальном справочнике, хоть в макете, как двоичные данные.
|
|||
10
Масянька
01.08.17
✎
12:07
|
(8) // формируем файл
мWord = СоздатьОбъект("Word.Application"); мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка(КаталогШаблонов + мШаблон)); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); Код - семерочный. Шаблон лежит в КаталогШаблонов, имя шаблона мШаблон (шаблон Word). Как вариант - в макете, в справочнике (см. 9). |
|||
11
МихаилМ
01.08.17
✎
12:11
|
||||
12
Fish
гуру
01.08.17
✎
12:11
|
(10) Единственный нюанс. Find.Execute подходит, только если значение параметра меньше 255 символов, а если надо большой текст вставлять, то лучше закладки юзать.
|
|||
13
Масянька
01.08.17
✎
12:21
|
(12) ИМХО - моветон.
Если есть значение переменной (ну, типа того) > 255 - это уже абзац (как минимум) и стоить предусмотреть разные абзацы прямо в шаблоне. |
|||
14
falselight
02.08.17
✎
07:08
|
(10) Спасибо!
(11) Да этот конвертор, так же как копирование из ворда обычное и вставка в эксель делает. (9) А примера такого нет? Как например в справочнике? А извлекается как от туда? Думаю действительно так делать не перенося в макет, так удобнее и быстрее наверное будет. |
|||
15
falselight
02.08.17
✎
07:35
|
(5) А где там в документообороте?
Прям можно взять реальный пример и применить его у себя? Есть ли у кого пример, а то что то не могу сдвинуться с места. Одни формы в ворд. Помнится сам такое делал когда то. Точнее дорабатывал готовое решение. |
|||
16
falselight
02.08.17
✎
07:42
|
Кто то же это использует 100%, поделитесь примером, пожалуйста.
|
|||
17
Работа имитируется
02.08.17
✎
07:45
|
||||
18
falselight
02.08.17
✎
07:47
|
(17) Это был 2012 год, и конфигурации этой у меня нет.
Там макеты ворд были загружены в конфигурации. Был код формирования, подменяемые значения, как в (10). Такой бы пример сейчас. |
|||
19
Работа имитируется
02.08.17
✎
07:49
|
Чем тебе (10) не нравится?
|
|||
20
falselight
02.08.17
✎
07:51
|
(19) Это код для 7.7 же.
|
|||
21
Lexey_
02.08.17
✎
08:01
|
(20) там от семерки одна строка
|
|||
22
falselight
02.08.17
✎
08:04
|
(21) Понять бы ещё что там делается, и как это применить
под свой документ. |
|||
23
Lexey_
02.08.17
✎
08:07
|
(22) так комментарии есть
|
|||
24
falselight
02.08.17
✎
08:13
|
(23) Буду применять, если подойдет для 8.3.
|
|||
25
Работа имитируется
02.08.17
✎
08:37
|
(22) >Понять бы ещё что там делается.
Не отчаиваться! Всегда есть возможность устроится садовником! |
|||
26
Масянька
02.08.17
✎
08:37
|
(22) А что тебе не понятно?
У меня реализовано для договоров. Есть шаблоны word - каждому виду договору соответствует свой макет. Вид договора выбирается в форме справочника - автоматом выбирается шаблон. На основе шаблона создается файл word. В файле заполняются поля ([]) и файл записывается. Чего не понятно? |
|||
27
Масянька
02.08.17
✎
08:39
|
(25) Садовником тоже не просто - нужно понимать, где сорняк, а где цветочки. Да, и как кусты обрезать тоже нужно понятие иметь.
|
|||
28
falselight
02.08.17
✎
09:00
|
(26) Буду разбираться.
Вы в 7.7 работаете что ли? |
|||
29
Масянька
02.08.17
✎
09:04
|
(28) И там тоже. А что?
|
|||
30
Работа имитируется
02.08.17
✎
09:07
|
(27) Зато нет такого - "завтра открытие парка, а у вас розы не того цвета, срочно сажаем тюльпаны и красим их в бирюзовый цвет"...
|
|||
31
Масянька
02.08.17
✎
09:09
|
(30) С баша:
Муж решил старшего приобщить к труду - вывез на дачу. Пацану - 8 лет. Первое задание - прополоть грядку с луком. Вводные - все, что не лук - выдирать на фиг. Сын выдрал сорняк и куст смородины - "Так это же не лук!" Программист растет. :))))))))))))))))) |
|||
32
falselight
03.08.17
✎
07:36
|
(10) Ну а можно полный код модуля?
Это же отрывок. Остальное самому додумывать? |
|||
33
catena
03.08.17
✎
07:40
|
(32)Что ты там собрался додумывать? Определение объекта, подключение и замена параметра есть, чего не хватает?
|
|||
34
Имитация работы
03.08.17
✎
07:44
|
(32) > Остальное самому додумывать?
Ты н поверишь... |
|||
35
falselight
03.08.17
✎
07:50
|
(33) А его открытие?
Может там какой сложный код ещё. А я то не знаю его! |
|||
36
catena
03.08.17
✎
07:59
|
||||
37
falselight
03.08.17
✎
08:18
|
мWord = Новый COMОбъект("Word.Application");
// мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] //мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); мWord.Activate(); Пишет, произошла исключительная ситуация. Не удается активизировать приложение! |
|||
38
1dvd
03.08.17
✎
08:20
|
(37) где этот код выполняется?
|
|||
39
falselight
03.08.17
✎
08:25
|
(38) Из формы документа.
&НаКлиенте Процедура ПутевойЛист(Команда) мWord = Новый COMОбъект("Word.Application"); // мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] //мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); мWord.Activate(); КонецПроцедуры |
|||
40
Масянька
03.08.17
✎
08:25
|
(37) У меня, лично:
// записываем файл мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мИмяФайла); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; (32) Там много чего - всякие бантики, ленточки... Процедура - по кнопке "Сформировать договор" в форме элемента справочника. А вообще, вспоминай "Вовка в тридевятом царстве" - двое из ларца: - А вы и есть за меня будете? - Ага! |
|||
41
falselight
03.08.17
✎
08:26
|
(39+) Я надеялся что пока откроется сам документ ворд.
|
|||
42
falselight
03.08.17
✎
08:26
|
(40) И куда это добавлять?
Прям так как есть? |
|||
43
Масянька
03.08.17
✎
08:27
|
(41) Ты его сохранил?
(42) В конце - после формирования и записи док-та (word). |
|||
44
1dvd
03.08.17
✎
08:28
|
(42) Тебе так часто говорят "Пригласите специалиста". Ты уже не паришься по этому поводу?
|
|||
45
Масянька
03.08.17
✎
08:29
|
(42) Процедура СформироватьДоговор(мИмяФайла = "", мЕстьСрок, мЕстьСчет, мСписокПО, мШаблон, мПредупреждение)
…. (тут всякие нужные параметры) // формируем файл мWord = СоздатьОбъект("Word.Application"); мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка(КаталогШаблонов + мШаблон)); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); …. (тут продолжаем заполнять шаблон) … (а вот закончили заполнять) // записываем файл мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мИмяФайла); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; Предупреждение(мПредупреждение); КонецПроцедуры |
|||
46
falselight
03.08.17
✎
08:31
|
(45) А Activate где?
|
|||
47
falselight
03.08.17
✎
08:31
|
Так?
мWord = Новый COMОбъект("Word.Application"); // мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] //мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); // записываем файл мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мИмяФайла); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; мWord.Activate(); |
|||
48
Масянька
03.08.17
✎
08:35
|
(46) У Кощея :)
|
|||
49
falselight
03.08.17
✎
08:35
|
(48) Но а серьезно?
|
|||
50
Масянька
03.08.17
✎
08:36
|
(49) Читай, что есть "Activate" и что "Visible".
Читать можно тут - https://msdn.microsoft.com/ru-ru/library/kw65a0we.aspx. |
|||
51
Масянька
03.08.17
✎
08:37
|
(49) А вообще... Серьезно - это рожать. А с эской работать - ... (матофильтр сработал).
|
|||
52
falselight
03.08.17
✎
08:40
|
(50) активизирует, то есть открывает и ли делает видимость
|
|||
53
Масянька
03.08.17
✎
08:40
|
(49) Ну, давай, боярин, не томи... Арбайтен?
|
|||
54
falselight
03.08.17
✎
08:51
|
(53) Не работает ((((
// &НаКлиенте Процедура ПутевойЛист(Команда) мWord = Новый COMОбъект("Word.Application"); // мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] //мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); // записываем файл мИмяФайла = "C:\WORDFORMS\ПутевойЛист" + СокрЛП(ТекущаяДата()); мИмяФайла = СтрЗаменить(мИмяФайла, " ", ""); мИмяФайла = СтрЗаменить(мИмяФайла, ":", ""); мИмяФайла = СтрЗаменить(мИмяФайла, ".", ""); мИмяФайла = мИмяФайла + ".doc"; мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мШаблон); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; мWord.Activate(); КонецПроцедуры |
|||
55
Масянька
03.08.17
✎
08:53
|
(54) мWord.Activate(); заремь - работает?
Файл создает, сохраняет? В диспетчере word висит? |
|||
56
falselight
03.08.17
✎
08:53
|
Ломается на строке
мДок.SaveAs(мИмяФайла); там значение C\WORDFORMS\ПутевойЛист03082017125342.doc |
|||
57
falselight
03.08.17
✎
08:54
|
(55) Висит многократно! Снимаю!
|
|||
58
falselight
03.08.17
✎
08:55
|
так пробую
&НаКлиенте Процедура ПутевойЛист(Команда) мWord = Новый COMОбъект("Word.Application"); // мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] //мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); // записываем файл мИмяФайла = "C:\WORDFORMS\ПутевойЛист" + СокрЛП(ТекущаяДата()); мИмяФайла = СтрЗаменить(мИмяФайла, " ", ""); мИмяФайла = СтрЗаменить(мИмяФайла, ":", ""); мИмяФайла = СтрЗаменить(мИмяФайла, ".", ""); мИмяФайла = мИмяФайла + ".doc"; мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мШаблон); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; //мWord.Activate(); КонецПроцедуры // <- |
|||
59
Масянька
03.08.17
✎
08:56
|
(56) Доступ к папке? Желательно посмотреть из эски - то есть в эске открыть печ. форму и сохранить ее в эту папку.
|
|||
60
Масянька
03.08.17
✎
08:57
|
(58) А зачем двоеточие меняешь?
|
|||
61
falselight
03.08.17
✎
08:58
|
(60) Ну может ругалось бы на это.
|
|||
62
Масянька
03.08.17
✎
08:58
|
+ (60) ИМХО - имя файла преобразуй отдельно и только потом (после преобразования) - добавляй строку с каталогом.
|
|||
63
falselight
03.08.17
✎
08:59
|
(59) Как это?
Пока ругается на (56) что то не нраивтся ( |
|||
64
falselight
03.08.17
✎
08:59
|
(62) Я сделаю, перерыв! Устал.
|
|||
65
Масянька
03.08.17
✎
08:59
|
(61) C\WORDFORMS\ПутевойЛист03082017125342.doc - ничего не напрягает?
|
|||
66
falselight
03.08.17
✎
09:00
|
(65) Ну а что там не так?
|
|||
67
Масянька
03.08.17
✎
09:00
|
(64) Слабак :)
|
|||
68
falselight
03.08.17
✎
09:00
|
(67)Я с вами.
|
|||
69
Масянька
03.08.17
✎
09:01
|
(66) C:\WORDFORMS\ПутевойЛист03082017125342.doc - найди одно отличие.
|
|||
70
Масянька
03.08.17
✎
09:03
|
(68) Не люблю слабаков.
Если ставишь задачу - к результату нужно ползти, превозмогая боль и усталость. Иначе - результата не будет. |
|||
71
dezss
03.08.17
✎
09:07
|
(69) угу...заменятор....
я бы первым делом этот путь в проводник скопировал |
|||
72
falselight
03.08.17
✎
09:13
|
(70) Будет! Но немного позже!
|
|||
73
Масянька
03.08.17
✎
09:14
|
(72) Ну, смотри....
|
|||
74
Fish
гуру
03.08.17
✎
09:33
|
Вот кстати ещё вариант:
Книга знаний: Заполнение полей документа Word (шаблон Active Document) |
|||
75
falselight
03.08.17
✎
12:20
|
(74) Так там получить макет!
Я же хочу просто открыть пока формы документов в ворд. Потом заполнить нужные поля в них. |
|||
76
Масянька
03.08.17
✎
12:33
|
(75) Где моя металлическая линейка?!
Ты - издеваешься? В word'е открывается уже готовый файл (заполненный шаблон). Ты, вообще, в шаблонами в word'е работал? |
|||
77
dk
03.08.17
✎
13:01
|
я через закладки предпочитаю
|
|||
78
falselight
04.08.17
✎
05:58
|
Что не так в этом имени?
Ошибка на этой строке мДок.SaveAs(мИмяФайла); C\WORDFORMS\ПутевойЛист.doc |
|||
79
h-sp
04.08.17
✎
06:34
|
(78) сам то смотрел это имя? Посмотри на него, посмеешься.
|
|||
80
falselight
04.08.17
✎
06:54
|
(79) Путь к файлу, что не так?
|
|||
81
falselight
04.08.17
✎
06:55
|
(79) А двоеточия нет!
|
|||
82
1dvd
04.08.17
✎
07:01
|
(81) а теперь догадайся почему
|
|||
83
falselight
04.08.17
✎
07:13
|
(82) Сам убрал.
|
|||
84
falselight
04.08.17
✎
07:46
|
Сейчас по этому коду, открывается файл лежащий на диске.
Но почему то новый не создается. мWord = Новый COMОбъект("Word.Application"); // мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] //мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); // записываем файл ТекДатаСтр = СокрЛП(ТекущаяДата()); ТекДатаСтр = СтрЗаменить(ТекДатаСтр, " ", ""); ТекДатаСтр = СтрЗаменить(ТекДатаСтр, ":", ""); ТекДатаСтр = СтрЗаменить(ТекДатаСтр, ".", ""); мИмяФайла = "C:\WORDFORMS\ПутевойЛист" + ТекДатаСтр; //мИмяФайла = СтрЗаменить(мИмяФайла, " ", ""); //мИмяФайла = СтрЗаменить(мИмяФайла, ":", ""); //мИмяФайла = СтрЗаменить(мИмяФайла, ".", ""); мИмяФайла = мИмяФайла + ".doc"; мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мШаблон); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; //мWord.Activate(); |
|||
85
falselight
04.08.17
✎
07:50
|
(84) Файл же должен создаваться на основе шаблона,
и сохраняться как новый?! |
|||
86
1dvd
04.08.17
✎
07:54
|
(85) шаблон - это файл с расширением dot. Создать его можно в, внезапно, в Ворде
|
|||
87
falselight
04.08.17
✎
07:57
|
(86) В (84) открывается шаблон word с диска
с расширением doc. Форма документа. Я спрашиваю, что этот шаблон будет всегда неизменным и меняться все будет программно, и будут создаваться новые файлы. Интересует почему в (84) не создался новый файл? |
|||
88
Масянька
04.08.17
✎
08:41
|
(87) Тебе повезло, что я далеко...
мШаблон = СокрЛП(Строка("C:\WORDFORMS\ПутевойЛист.doc")); - где тут шаблон Word? |
|||
89
1dvd
04.08.17
✎
08:47
|
||||
90
Cyberhawk
04.08.17
✎
09:32
|
(0) "Не известен ни кому
подобный метод переноса документа из word в excel?" (3) "мне нужно из excel в word" (4) "Точнее нужно из word в excel, а там наоборот" На чем остановились? |
|||
91
falselight
15.08.17
✎
05:14
|
(88) Под шаблоном я понимаю файл ворд с со значениями которые нужно изменять программно.
Вопрос сейчас такой, в ворд файле сделал значение ПечВодитель, пробую его заменить на "***", что бы понять что замена происходит и начать извлекать настоящие значения для замены. Но замена не произошла. Открылся файл со значением ПечВодитель, не замененным на "***". Почему не заменяет? &НаКлиенте Процедура Доверенность(Команда) мWord = Новый COMОбъект("Word.Application"); // мWord.Visible = 0; мNewDoc = мWord.Documents; мШаблон = СокрЛП(Строка("C:\WORDFORMS\Доверенность.doc")); мДок = мNewDoc.Add(мШаблон, 0, 0, 1); // верхний колонтитул мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range; //мКолонтитул.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,мНомерДоговора,2); //мКолонтитул.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] мОбъект.Find.Execute("[ПечВодитель]",0,0,,,,,,,"***",2); //мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); //мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); //мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); //мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(мОснование),2); // записываем файл мИмяФайла = "C:\WORDFORMS\Доверенность";// + СокрЛП(ТекущаяДата()); //мИмяФайла = СтрЗаменить(мИмяФайла, " ", ""); //мИмяФайла = СтрЗаменить(мИмяФайла, ":", ""); //мИмяФайла = СтрЗаменить(мИмяФайла, ".", ""); мИмяФайла = мИмяФайла + ".doc"; мДок.SaveAs(мИмяФайла); ИмяФайла = СокрЛП(мШаблон); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; //мWord.Activate(); КонецПроцедуры |
|||
92
falselight
15.08.17
✎
05:28
|
Кажется понял с заменой, заменилось значение [ПечВодитель],
Скобки не поставил. |
|||
93
falselight
15.08.17
✎
06:46
|
Данный код, переписывает и сохраняет ворд файл лежаший как
заготовка для формирования по заданным значениям. Почему он не открывается как копия, что бы не трогать заготовку? |
|||
94
falselight
15.08.17
✎
07:17
|
поправил
|
|||
95
1dvd
15.08.17
✎
08:36
|
(93) см (89)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |