Просмотр полной версии : Экспорт документов из 1С 8.0 в Word
Просьба кто может подсказать.
В нете лазил, что-то не очень чего интересного не налазил, может криво лазил :(
Необходимо текст записывать в документ ворд, разного размеру, жирный, курсив, с колонками.
Если у кого есть пример программного кода, выложите, буду очень признателен или ссылку где почитать про это, а еще лучше справочник по работе в 1с с word :)
Yana1282
13.02.2008, 08:44
А чем Вам эксель не нравится?
А чем Вам эксель не нравится?
Эксель предназначен в основном для работы с таблицами, а мне надо тупо выводить текст, как инструкцию к примеру... смысл мне эксель в этом плане мучать. Конечно можно, но получиться более муторно.
Yana1282
13.02.2008, 08:58
Получится намного проще с таблицами, и текст в нужное место вывести проще, не зря же большинство печатных форм делаются с помощью табличных документов, да и информацию о выводе в Excel в нете найти проще, даже конкретные куски кода.
А задачу стоит поставить конкретнее - возможно, Вы выбрали не самый простой способ ее решения.
Excel в нете найти проще, даже конкретные куски кода.
Эксель, да без проблем нашел и давно работаю.. но просто для этой моей задачи мне кажеться не очень подходит Эксель.
Задача такого плана: Есть текстовый файл, в нем идет сплошняком текст(имееться некоторые закономерности его расположения): его надо красиво отредактировать и вывести в три колонки.
Конечно 1С далеко не идел для решения такой задачи, но просто вспонимать другой язык не особо есть время да и столкнусь с теми же проблемами.
Никогда с вордом не работал, но я бы делал так:
в самом ворде включил запрись макроса и разбил бы текст руками.
потом посмотрел что там за команды в макросе и попытался вызывать
из 1с, так же как и при связке 1с-excel
Никогда с вордом не работал, но я бы делал так:
в самом ворде включил запрись макроса и разбил бы текст руками.
потом посмотрел что там за команды в макросе и попытался вызывать
из 1с, так же как и при связке 1с-excel
Уже так экспереминтировал, пока нужных плодов идея не принесла. Там в VBA он работает через Selections,а в 1С как я понял надо через Paragraph работать, с первым работать получаеться, а вот еще добавить... :(
Потом еще буду пробывать.
Просто думал, может кто-то уже такое делал и есть готовый код.
Всем спасибо, вроде уже разобрался.
Если не сложно то Напиши как ты решил эту проблему
Если не сложно то Напиши как ты решил эту проблему
Создаешь макет документа как "Active document" с указанием на какой-то вордовский документ, который предварительно можешь отформатировать как нравиться, по полям и т.д.
в програмном коде вызываешь макет:
АктивныйДокумент = ПолучитьМакет("Макет");
КомОбъект = АктивныйДокумент.Получить();
КомОбъект.ActiveWindow.Visible = Истина; // чтобы было открытое окно ворда
Теперь обрабатываем строки ворда через массив Paragraphs, первая строка существует по умолчанию остальные надо добавлять:
КомОбъект.Paragraphs.add();
НумераторПараграфа=НумераторПараграфа+1;
КомОбъект.Paragraphs(НумераторПараграфа).Range.Fon t.Italic = Ложь;
КомОбъект.Paragraphs(НумераторПараграфа).Range.Fon t.Bold = Ложь;
КомОбъект.Paragraphs(НумераторПараграфа).Range.Fon t.Size = 10;
КомОбъект.Paragraphs(НумераторПараграфа).Range.Tex t=СтрокаДляВывода;
вместо переменой НумераторПараграфа можно использовать КомОбъект.Paragraphs.count() чтобы получать номер последнего.
Этот метод который я нашел, не думаю, что самый правильный, но рабочий.