Jump to content

Препоръчан пост

Здравейте,

 

Интересува ме има ли начин с LibreOffice да създам макрос който да използвам когато пожелая за всеки документ за когото поискам.

Например записвам предварително настройки на параграф, шрифт, размер на текст и т.н., след което с един клик (примерно) всеки документ (или страница) се форматира по предварително зададени критерии.

Или ако не става с макрос може би някакво програмиране към офис програмата.

 

Аз ползвам freeOffice_2016, но тази програма не е подходяща за такова начинание. Все още не съм инсталирал LibreOffice.

Искам да съм сигурен, че има смисъл да го правя, а и не съм създавал макроси, нито програма с такава цел. В документацията прочетох, че предлага такива възможности, но не ми стана много ясно кое би работило за мен.

 

 

Link to comment
Сподели другаде

Извинявам се, но чак сега забелязах, че темата е в грешния раздел. Ако може да бъде преместена в раздел

"Ръководства за работа с програми".

 

Дублиране на една и съща тема в два различни раздела, май не е допустимо.

 

Благодаря!

Link to comment
Сподели другаде

Тъй като текущата тема не е сама по себе си ръководство, а всъщност се търси помощ, текущият раздел най-удачният. Няма нужда от преместване.

 

По самата тема: за жалост нито използвам LibreOffice, нито съм се занимавал с подобни скриптове, така че не мога да помогна.

Link to comment
Сподели другаде

Най-сетне решение на задачата.

sub changeallpagesizesusedindocument
rem Portrait Sizes:
newpagesizeWidth = 21590      'стойност за широчина на страницата
newpagesizeHeight = 32995     'стойност за височина на страницата
newTopMargin = 1200           'отстояние горе
newBottomMargin = 1200        'отстояние долу
newLeftMargin = 1000          'отстояние ляво
newRightMargin = 1000         'отстояние дясно


oViewCursor = ThisComponent.CurrentController.getViewCursor()
oViewCursor.jumptofirstpage(false)

do
s = oViewCursor.PageStyleName
oStyle = ThisComponent.StyleFamilies.getByName("PageStyles").getByName(s)
if oStyle.IsLandscape=True then   'this is for Landscape, the margins as if we rotated portrait 90°right, change as you like
oStyle.Width = newpagesizeHeight
oStyle.Height = newpagesizeWidth
oStyle.TopMargin = newLeftMargin
oStyle.BottomMargin = newRightMargin
oStyle.LeftMargin = newBottomMargin
oStyle.RightMargin = newTopMargin
else    'this is for portrait
oStyle.Width = newpagesizeWidth
oStyle.Height = newpagesizeHeight
oStyle.TopMargin = newTopMargin
oStyle.BottomMargin = newBottomMargin
oStyle.LeftMargin = newLeftMargin
oStyle.RightMargin = newRightMargin
end if

loop while oViewCursor.jumptonextpage(false)
oViewCursor.jumptofirstpage(false)

End Sub

На мен ми беше необходимо форматиране А5 с L, R, T, B = 0,8 см.

Може би ще ще бъде от полза и за другиго.

 

За мен темата е затворена.

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...