Форум » [x]Harbour » Настройка формата листа DOC-файла... » Ответить

Настройка формата листа DOC-файла...

Andrey: Как сделать настройку формата страницы листа .DOC в зависимости от ширины таблицы ? Ширину своей таблицы уже знаю: [pre2]nWidthTsb := oBrw:GetAllColsWidth() // ширина всех колонок таблицы в пикселах[/pre2] Задаю поля страницы (но они в других единицах): [pre2] oWord:ActiveDocument:PageSetup:LeftMargin := 72.0 //~2.5 см // книжная ориентация oWord:ActiveDocument:PageSetup:Orientation := wdOrientPortrait // альбомная ориентация oWord:ActiveDocument:PageSetup:Orientation := wdOrientLandscape[/pre2] Сколько пикселов в формате А4 для книжной и альбомной ориентации листа ? Кто знает как это сделать ?

Ответов - 43, стр: 1 2 3 All

Pasha: Прежде надо точно сформулировать задачу, и не путать теплое с мягким количество пикселей на экране для tsbrowse из hmg и ширину листа A4 в метрической системе или в дюймах или пикселях. В таблице word таблица tsbrowse наверное будет представлена по другому ?

SergKis: Andrey Паша прав. А инфа по переводу в Google, к примеру https://www.calc.ru/piksel-v-santimetr.html

Dima: Andrey http://biznessystem.ru/kakoj-razmer-v-pikselyah-imeet-list-formata-a4/


Andrey: Pasha пишет: не путать теплое с мягким количество пикселей на экране для tsbrowse из hmg и ширину листа A4 в метрической системе или в дюймах или пикселях. Вот я это и хочу понять. Спасибо большое за ссылки ! Пошёл учить матчасть...

Andrey: Как мне в Word сделать страницу формата А1? Формат А1 соответствует следующему размеру - 594х841 мм. А редактор Word имеет ограничение в установке размеров - 55,87 см по любой из сторон листа. Таким образом, установить формат А1 в редакторе невозможно.

Dima: Andrey Спроси гугл )) https://social.technet.microsoft.com/Forums/office/ru-RU/f929546a-5411-4954-9838-f2c7f393faa3/-210-word-2007?forum=msoclientru

Andrey: Ну да... Буду знать теперь: Ms Word не поддерживает форматы А2,А1,А0 ! А OpenOffice поддерживает !

Andrey: Наконец то понял... До этого как то не особо интересовался. Единицы измерения Word http://machula.ru/edinitsyi-izmereniya-word/ То бишь параметры - oWord:ActiveDocument:PageSetup:LeftMargin := 72.0 //~2.5 см Переводятся как 72 пункта (72 points)

Andrey: Dima пишет: http://biznessystem.ru/kakoj-razmer-v-pikselyah-imeet-list-formata-a4/ Не понял. Я не нашёл как задать DPI в Ворде. Кто подскажет как это сделать ?

PSP: DPI имеет отношение к печати в целом, а не к ворду. https://ru.wikipedia.org/wiki/Dots_per_inch

Dima: Andrey Гугл снова )) https://social.msdn.microsoft.com/Forums/ru-RU/cff55f5d-5ac4-4bda-b224-c756fb04caa5/dpi-ms-word?forum=miscellaneousru

Andrey: Задаю формат листа А3 через word.ch : [pre2] oWord:ActiveDocument:PageSetup:PaperSize := wdPaperA3 // лист A3[/pre2] В программе потом вылетает на этой строке: Error 2447764/-2147352573 DISP_E_MEMBERNOTFOUND: _PAPERSIZE Called from TOLEAUTO:_PAPERSIZE(0) Called from BRW2DOC(99) in module: Tsb2doc.prg А так работает - [pre2]oWord:ActiveDocument:PageSetup:PaperSize := wdPaperA4 // лист A4[/pre2] Как задать размер листа больше А4 ?

SergKis: Andrey Руками можешь поставить в word формат A3 ? Сейчас не знаю, но раньше, если принтер (драйвер) не поддерживал A3, то и word не включал.

Andrey: SergKis пишет: Руками можешь поставить в word формат A3 ? Не ставиться, нет такого формата в Ворде 2003. Сделал по другому:[pre2] // Word имеет ограничение в установке размеров - 55,87 см по любой из сторон листа. // 55.87 сантиметров равно 1 583.717 пунктов // Высоту листа возьмем как у A4 (210х297 мм) == 297 // 297 миллиметров равно 841.889862 пункта oWord:ActiveDocument:PageSetup:PageWidth = 1583 oWord:ActiveDocument:PageSetup:PageHeight = 841 // книжная ориентация oWord:ActiveDocument:PageSetup:Orientation := wdOrientPortrait[/pre2] Спасибо ВСЕМ за подсказки !

Andrey: Экспорт в таблицу Ворда из Tsbrowsa получается у меня нормально. Единственно, что некрасиво делается - это автоматическое растягивание таблицы по ширине страницы !!! Можно ли как то это убрать ? Кто нибудь сталкивался с этим ? Код создания таблицы: [pre2] nLenHead++ // шапка таблицы if AScan( oBrw:aColumns, { |o| o:cFooting != Nil } ) > 0 nLenHead++ endif nRowDbf := oBrw:nLen - oBrw:nAt + nLenHead + 1 // кол-во строк в таблице + шапка + подвал таблицы nColDbf := Len( oBrw:aColumns ) // кол-во столбцов в таблице // ------- создание таблицы --------------- oRange = oActive:Range(len(cTitle)+2) // таблица с автоподстройкой по ширине странице oTbl:= oWord:ActiveDocument:Tables:Add(oRange,nRowDbf,nColDbf,wdWord9TableBehavior,wdAutoFitContent)[/pre2] Пробовал менять константу wdAutoFitContent на 0,1,2 - всё равно одинаково растягивает таблицу.

Andrey: Перехожу с HBOLE.LIB на HBWIN.LIB [pre2] TRY oWord := GetActiveObject( "Word.Application" ) CATCH TRY oWord := CreateObject( "Word.Application" ) CATCH cMsg := "Не могу запустить - Microsoft Word (Ошибка:" + Ole2TxtError() + ")!;;" cMsg += "(Не установлен на этом компьютере !);" MsgStop(cMsg,"ОШИБКА!") RETURN NIL END END[/pre2] А чем заменить функцию Ole2TxtError() ?

gfilatov2002: Andrey пишет: чем заменить функцию Ole2TxtError() ? Попробуй использовать win_oleErrorText()

Dima: win_oleErrorText()

Andrey: СПАСИБО ! А есть описание функций HBWIN.LIB ?

Sergy: Andrey пишет: А есть описание функций HBWIN.LIB Тут есть: https://github.com/Petewg/harbour-core/wiki/HBWIN



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