Как при печати, в одной строке выводить разным шрифтом ? В строке текст. Одни слова надо выводить жирным шрифтом, другие курсивом и т.д. Разбить на ячейки не получится. Как извернуться ? |
что-то типа такого [b]ООО ХХХ[/b], именуемое в дальнейшем [b]"Застройщик"[/b], в лице ген.директора [b]Иванова И.И.[/b] с одной стороны и [b]Петрова А.А.[/b], место рождения г.Москва, паспорт серии .....,именуемый в дальнейшем [b]"Дольщик"[/b] дальше еще дофига текста и надо курсивом,жирным,подчеркиванием и т.д. |
VBA и внедрять как объект например |
1-Плюшкин > Выводи в Ворде. Для "семерки" это единственный метод. Шаблон, и куча замен [em]ТекстХ[/em] на [em]ТекстY[/em] |
+4 Шаблоном необязательно файл с расширением .doc. Можно .html Затем Вордом открыть .html и [em]сохранить как[/em] .doc ;) |
с пом. ворда было,но счас понадобилось в цикле по строкам документа выводить. Т.е. док с кучей строк,жмем "печать" и сколько есть строк (контрагентов) в документе,столько выводится Актов. Типа массовой печати. Виснет все :( |
А вместо вывода воткнуть в цикле разрыв страницы? ЗЫ про html Валера дело сказал. Даже если не знаешь как - в v8 набиваешь шаблон, в тексте что-то наподобие хештега, заменяемого простым СтрЗаменить - вуаля. На выходе текст с натянутым оформлением готов. |
Разрыв есть.все равно виснет.А у клиента еще слабее комп. А как через html ? Не пойму. |
а,понял. Будет меньше виснуть если сначала в хтмл ? |
в общем,сделал,чтобы в doc шаблон заполнялось. Но какая то фигня вылетае. Пишет "неверная единица измерений". Хотя это печать типового договора и там вообще никаких единиц измерений нет. |
VZ 4 - Сегодня - 01:43 Выводи в Ворде. Для "семерки" это единственный метод. а если не для семерки, тогда какие варианты? |
Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 цикл ТекстовыйПроцессор.Visible = 0; ТекстовыйПроцессор.Documents.Open(ИмяФайла,, -1); Fnd = ТекстовыйПроцессор.ActiveDocument.Range().Find; Fnd.ClearFormatting(); Fnd.Forward = -1; // Заменяем ключевые поля на нужные значения ТаблицаЗамен.ВыбратьСтроки(); Пока ТаблицаЗамен.ПолучитьСтроку() = 1 Цикл Fnd.Execute(ТаблицаЗамен.Найти,,,,,,,,, ТаблицаЗамен.Заменить, 2); КонецЦикла; // А как добавить след.страницу в офисе ? КонецЦикла; ТекстовыйПроцессор.Visible = -1; ТекстовыйПроцессор.Activate(); Если в цикле по строкам прохожу,то как новую страницу добавить из 1С в офисе ? |
Делаешь две ячейки, одну под обычный шрифт, другую под жирный. Побуквенно считываешь нужную строку и заносишь букву либо в одну, либо в другую ячейку. Потом их последовательно присоединяешь. Тут с размером выводимой строки нужно подумать, что-бы не выходила за край. |
12-Плюшкин > InsertBreak(Type:=wdPageBreak) |
для семерки формируй текстовый файл *.html и печатай для восьмерки можно использовать ФорматированныйДокумент |
Сделай шаблон вордовский и туда пихай переменные. Либо не извращайся, а пиши, то что жирным большими буквами "ЗАСТРОЙЩИК" и т.д. |
13-bus >Размеры строк очень сильно отличаются :( 14-roma n >Понял,спасибо.Попробую. 15-Uho >Обошлось вордовским шаблоном.То у меня на 2007-м офисе тормоза неимоверные были,а на 2003 нормально вроде.А у клиента как раз 2003 стоит. 16-Buzz >Предлагал,отказались. В общем,спасибо всем.Решилось переустановкой офиса,счас не тормозит. |
офис пиратский поди :) |
Текущее время: 08:26. Часовой пояс GMT +3. |