• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Lotus And Word

  • Автор темы yerke
  • Дата начала
Y

yerke

Привет всем

в лотусе делаю экспорт в ворд
но возник вопрос

можно ли программно определить на сколько (процентов) заполнено последняя страница сформированного документа

это нада для следующеего
если на последней странице окажется тока 2-3 строчки
то спомощью пейдж брейка с предпоследней страницы спущу оперделенной кусок текста
 
A

abbatik

Можно считать кол-во строчек (символов) и по ним соответсвенно определять заполняемость документа.

Честно говоря не делал так, но это первое, что приходит в голову :)
 
Y

yerke

Можно считать кол-во строчек (символов) и по ним соответсвенно определять заполняемость документа.

Честно говоря не делал так, но это первое, что приходит в голову
ну я могу до стучаться до последней страницей документа
в ВБА есть класс Page
но у этого Page-а нету проперти типа Simbols Count или Lines Count
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Я думаю узнать такое непросто. Т.к. шрифты разные и всё такое. :)
Посмотри объект ParagraphFormat и его свойство KeepWithNext.

Также свойство KeepTogether. :)
 
A

abbatik

ну я могу до стучаться до последней страницей документа
в ВБА есть класс Page
но у этого Page-а нету проперти типа Simbols Count или Lines Count

У тебя есть Value, или Text.

Medvic сказал(а):
Я думаю узнать такое непросто. Т.к. шрифты разные и всё такое.

Логично :)
 
Y

yerke

Ну поделись с коллегами, может кому-то когда-то пригодится
Код:
Function PageBreaker
Const chars=300
Dim PagesCounts
Dim LPCC
Dim break
'=
'PagesCounts=wdApp.ActiveDocument.ActiveWindow.Panes(1).Pages.Count '=for 11 and 12 versions
PagesCounts=wdApp.ActiveDocument.BuiltinDocumentProperties("Number Of Pages").Value
Print "Pages Counts="+Cstr(PagesCounts)
If PagesCounts=1 Then Exit Function
'=
wdApp.Application.Selection.HomeKey(wdStory)	
For i=1 To PagesCounts-1
wdApp.Application.Browser.Next	
Next
Call wdApp.Application.Selection.EndKey(wdStory, wdExtend)		
LPCC=wdApp.Application.Selection.Characters.Count
Print Cstr(LPCC)
If LPCC>chars Then Exit Function
'=
If Not Isnumeric(mainTableStudCount) Then Exit Function	
If Not Isnumeric(mainTableCaptionCount) Then Exit Function	
break=Cint(mainTableStudCount)+Cint(mainTableCaptionCount)-4
'=
mainTable.Cell(break, 1).Select
wdApp.Application.Selection.HomeKey(wdLine)					
wdApp.Application.Selection.InsertBreak(wdPageBreak) '=спускаем несколько строк из таблицы
' с предпоследнего листа
End Function
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!