Автор | Сообщение |
|
| постоянный участник
|
Пост N: 5885
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.05.18 18:06. Заголовок: Настройка формата листа DOC-файла...
Как сделать настройку формата страницы листа .DOC в зависимости от ширины таблицы ? Ширину своей таблицы уже знаю: nWidthTsb := oBrw:GetAllColsWidth() // ширина всех колонок таблицы в пикселах Задаю поля страницы (но они в других единицах): oWord:ActiveDocument:PageSetup:LeftMargin := 72.0 //~2.5 см // книжная ориентация oWord:ActiveDocument:PageSetup:Orientation := wdOrientPortrait // альбомная ориентация oWord:ActiveDocument:PageSetup:Orientation := wdOrientLandscape Сколько пикселов в формате А4 для книжной и альбомной ориентации листа ? Кто знает как это сделать ?
|
|
|
Ответов - 43
, стр:
1
2
3
All
[только новые]
|
|
|
| Администратор
|
Пост N: 3771
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.18 22:03. Заголовок: Ну вроде бы так: пе..
Ну вроде бы так: переключиться на нижний коллонтитул ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter выделить строку Selection.EndKey Unit:=wdLine, Extend:=wdExtend удалить ее Selection.Delete Unit:=wdCharacter, Count:=1 ввести текст Selection.TypeText Text:="444" Selection.TypeParagraph переключиться обратно на документ ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Действия в коллонтитуле я делал от балды. Сделай, что там тебе надо, в макросе будет записано то, что ты делаешь. Ну и переводи на харбор. А то подвал какой-то, фиг поймешь
|
|
|
|
| постоянный участник
|
Пост N: 5952
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.07.18 08:04. Заголовок: Сделал функцию запис..
Сделал функцию записи в нижний колонтитул. Отдельный пример работает отлично. Порядок следования библиотек в проекте: -lminigui -ltsbrowse.lib -lhbole -lhbwin -lxhb Вставляю в свою большую систему, функция перестаёт работать. Порядок следования библиотек в проекте: -lminigui -ltsbrowse.lib -lhbwin -lhbole -lxhb Вот такая ошибка: Вот сам код функции: Скрытый текст
/////////////////////////////////////////////////////////////////////////////////////////// // Функция замены и вставки нижнего колонтитула в doc // The function to replace and insert the footer in doc FUNCTION MyDocFooter(oActive, aStroka) Local footerRange, oSection, ofooterRange, oRange Local aFColor, nI, cStroka := "" //aStroka := { "Тестовая строка № 1", "Тестовая строка № 2", "Тестовая строка № 3" } For nI := 1 TO LEN(aStroka) cStroka += aStroka[nI] If nI != LEN(aStroka) cStroka += CRLF Endif Next aFColor := BLUE // цвет текста For Each oSection In oActive:Sections // строка 914 - вылет здесь ofooterRange := oSection:Footers For Each footerRange In ofooterRange oRange := footerRange:Range oRange:Font:Color := RGB(aFColor[1],aFColor[2],aFColor[3]) oRange:Font:Name := "Times New Roman" oRange:Font:Size := 10 oRange:Font:Bold := .T. oRange:Text = cStroka oRange:ParagraphFormat:Alignment = wdAlignParagraphCenter Next Next RETURN NIL
| Подскажите пожалуйста почему так происходит и как исправить ?
|
|
|
|
| Администратор
|
Пост N: 3773
Зарегистрирован: 23.05.05
|
|
Отправлено: 11.07.18 09:55. Заголовок: Для начала наверное ..
Для начала наверное надо прекратить использовать очень старую библиотеку hbole (это видно по тому, что задействован класс TOleAuto), а использовать аналогичные средства из hbwin, тем более там отличия в основном только в инициализации. Ну а на такой вопрос: почему тестовый пример работает, а в большом проекте вылет вряд ли кто-нибудь вообще ответит по понятным причинам.
|
|
|
Ответов - 43
, стр:
1
2
3
All
[только новые]
|
|