Форум » [x]Harbour » шаблон Microsoft Word » Ответить

шаблон Microsoft Word

Новичок: Кто подскажет (и покажет) - требуется использовать шаблон Word (взаимодействие - подготовка, открытие, передача параметров и т.д.), то есть требуется подготовить определенный шаблон Word, передать параметры с программы, сохранить в формате docx в определенном месте или направить на печать.

Ответов - 103, стр: 1 2 3 4 5 6 All

Dima: Возможно не тот хендл поймал у Word

Andrey: Dima пишет: Возможно не тот хендл поймал у Word Нет, то окно. Окно Ворда исчезает, а потом появляется. Разобрался.Нужно ставить задержку. Потом желающие смогут проверить у себя.

Andrey: Остался ещё один вопрос: Как сделать в таблице авто суммирование столбца ? Т.е. я в конце таблицы добавляю колонку и хочу сделать в ней сумму столбца. Хотя можно и самому в цикле посчитать, но лучше сделать как положено. oTbl:Cell(nRowDbf,2):Range:ParagraphFormat:Alignment:= wdAlignParagraphRight oTbl:Cell(nRowDbf,2):Range:Font:Bold = .T. // ------------ как сделать автосумирование колонки ??? //oTbl:Cell(nRowDbf,2):Range:InsertFormula := "=Sum()"


Dima: SUM (ABOVE) ЗЫ Всегда можно спросить гугл

Andrey: Dima пишет: Всегда можно спросить гугл Не всегда... Не получается вставит формулу. По макросу так: [pre2]Selection.InsertFormula Formula:="=SUM(ABOVE)", NumberFormat:="# ##0,00"[/pre2] А как оператором написать формулу и формат ? [pre2]oTbl:Cell(nRowDbf,2):Range:InsertFormula????? := "=Sum(ABOVE)"[/pre2] Перебрал несколько вариантов. Так не работает: [pre2] oTbl:Cell(nRowDbf,3):Range:InsertFormula:Formula := "=Sum(ABOVE)" - ошибка oTbl:Cell(nRowDbf,3):Range:InsertFormula := "=Sum(ABOVE)" - ошибка oTbl:Cell(nRowDbf,3):Range:Formula := "=Sum(ABOVE)" - ошибка [/pre2]

Dima: Andrey пишет: Не получается вставит формулу. Подсмотри как это делается в Excel , делал же наверное уже.

Andrey: Dima пишет: Подсмотри как это делается в Excel , делал же наверное уже. Вот так: [pre2]oSheet:Cells( nLine, nI ):SET( 'NumberFormat', '## ### ###0,00' ) // числовая ячейка и oSheet:Cells[ nI, nRowXls + 1 ] := "=СУММ(R[-" + HB_NtoS(nRowXls + 1 - nLine) + "]C:R[-1]C)" [/pre2]

Петр: Andrey пишет: По макросу так: Selection.InsertFormula Formula:="=SUM(ABOVE)", NumberFormat:="# ##0,00" Selection:InsertFormula( "=SUM(ABOVE)", "# ##0,00" )

Dima: Andrey пишет: Хотя можно и самому в цикле посчитать, но лучше сделать как положено. Я делаю в цикле , ведь это же отчет по реальным цифрам а иначе это будет подгонка нужного результата.

Andrey: Петр пишет: Selection:InsertFormula( "=SUM(ABOVE)", "# ##0,00" ) Сделал так: [pre2] oTbl:Cell(nRowDbf,3):Range:Select() // перейти и выделить ячейку таблицы Selection:InsertFormula( "=SUM(ABOVE)", "# ##0,00" ) [/pre2] Не проходит... Выдаёт ошибку: Error BASE/1003 Переменная не существует: SELECTION Called from MYWORD1OLE(148)

Andrey: Уф... Сделал ... Надо так: [pre2] oText := oWord:Selection() .... // ---------- сделать автосуммирование колонки ----------- FOR nI := 3 TO 7 oTbl:Cell(nRowDbf,nI):Range:Select() // перейти и выделить ячейку таблицы oText:InsertFormula( "=SUM(ABOVE)", "# ##0,00" ) NEXT[/pre2]

Pasha: Оставлю здесь ссылку на Office 2013 VBA Documentation в формате chm: http://www.microsoft.com/en-us/download/details.aspx%3Fid%3D40326

Andrey: По просьбе желающих выложил готовые примеры у Григория на сайте - http://hmgextended.com/applications.html Преобразование DBF в DOC через объект ОЛЕ в МиниГуи / Convert DBF to DOC via the OLE object in MiniGui Преобразование DBF в XLS через объект ОЛЕ в МиниГуи / Convert DBF to XLS via the OLE object in MiniGui

ММК: Andrey пишет: Преобразование DBF в DOC Преобразование DBF в XLS Вам бы надо было все это в TsBrows вклюючить. И добавить преобразование DBF в PDF

Andrey: ММК пишет: Вам бы надо было все это в TsBrows вклюючить. Это только Григорий может.... ММК пишет: И добавить преобразование DBF в PDF Я не делал такого. Может присоединишься ? Сейчас делаю: DBF_to_PostgreSQL

ММК: Andrey пишет: Я не делал такого. Может присоединишься ? Сейчас делаю: DBF_to_PostgreSQL Понимаете Андрей , когда Вам нужна помощь при разработке какой-то задачи - понимаю. Но зачем заниматься Минигуи если все это есть в FW ? Какой смысл? :)

Andrey: ММК пишет: Но зачем заниматься Минигуи если все это есть в FW ? Какой смысл? Не нашел я что-то вариант DBF в DOC в FW... DBF в PostgreSQL тоже нет в FW... Или есть ? На МиниГуи это уже работает, правда привыкнуть надо к PostgreSQL. FW платный продукт, покупать нужно, осваивать тоже нужно... А МиниГуи бесплатен, правда время много потратил на освоение, но чтобы уходить на другую платформу тоже придётся тратить время. Да и подсказки Григория, и других форумчан тоже много дают. На МиниГуи классные примеры получаются... Да и с терминалки мигрировать в МиниГуи возможно, чем и занимаюсь. FW тоже хороший продукт, смотрел в своё время, но подкупил МиниГуи с русскоязычной поддержкой.

Pasha: Как-то здесь все в кучу намешано. Есть харбор с библиотекой hbwin, которая позволяет выгружать документы в word/excel посредством механизма ole. Пример использования этого механизма можно сделать с использованием интерфейса хоть fw/hmg/hwgui, хоть консольного. Консольный пример даже будет предпочтительнее, так как в нем не будет ничего лишнего. Надо выдать на экран какое-то окно с кнопочкой, вот и вся функция fw или hmg Окно с кнопочкой можно сделать красивым, но эта красота никак не связана с выгрузкой таблицы в word. Вот если для класса tsbrowse hmg добавить метод выгрузки в word аналогично методу ExcelOle, тогда это станет частью hmg, и можно будет говорить и примере его использования в hmg. Тоже самое касается и конвертации в pdf или postgres.

Andrey: Спасибо Pasha - всё по полочкам поставил ! Осталось только сделать - Консольный пример или для класса tsbrowse hmg добавить метод выгрузки в word аналогично методу ExcelOle.

Dima: Andrey пишет: Осталось только сделать - Консольный пример А я сразу и писал про консоль ))



полная версия страницы