Zmiana pozycji za pomocą makra
Zmiana pozycji za pomocą makra
Czy jest możliwiść by zmienić pozycję np. pola tekstowego w formularzu za pomocą makra?
Re: Zmiana pozycji za pomocą makra
Jest, ale zapewne nikt z rozmówców tego nie robił.
Weź AndrewMacro, przeszukaj htpp://www.oooforum.org, sprawdź na żywca parametry ramek we Writerze za pomocą X-Ray Tool.
Powinno się dać.
Weź AndrewMacro, przeszukaj htpp://www.oooforum.org, sprawdź na żywca parametry ramek we Writerze za pomocą X-Ray Tool.
Powinno się dać.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Zmiana pozycji za pomocą makra
Odpaliłem makro, które pokazywało właściwości pola tekstowego we writerze za pomocą x-ray tool, ale nie mogę znaleźć tych parametrów pozycji x i pozycji y. Czy jest jakaś opcja by wyszukiwać wpisane hasła w x-ray? np posx lub height bo pewnie są w tym samym miejscu zlokalizowane.
Re: Zmiana pozycji za pomocą makra
No więc, spróbujmy
Google: api openoffice text frame >>> http://api.openoffice.org/docs/common/r ... Frame.html
Jest tam następujący kawałek koduoraz parę interesujących odsyłaczy.
Zapuszczenie tego kodu w trybie krokowym + podgląd obiektu oFrame w debuggerze (nawet bez XRay) skłoniły mnie do napisaniaco bierze pierwszą ramkę z dokumentu (przy założeniu, że dokument ją zawiera) i przesuwa ją w lewo o 10 jednostek, w dół o 30 jednostek i poszerza o 20 jednostek (gdzie jednostka == 0.01 milimetra).
Jak już się tyle dowiedziałem, to łatwo było odszukać inne przykłady http://www.oooforum.org/forum/viewtopic.phtml?t=15967 i dokumentację http://wiki.services.openoffice.org/wik ... _Than_Text.
Tyle co do ramek tekstowych. Z kolei formularze są elementami kolekcji drawPage.Forms w dokumencie, i same są kolekcjami pól. Zarządza się nimi inaczej, nigdy tego nie robiłem z poziomu kodu. Coś na temat: http://wiki.services.openoffice.org/wik ... With_Forms.
Jednak z kompletnością dokumentacji nie jest zbyt dobrze. Z tego co rozumiem, właściwości obiektów generowane dynamicznie nie muszą być widoczne podczas ich przeglądania różnymi narzędziami (choć to stwierdzenie wymagałoby uściślenia).
Google: api openoffice text frame >>> http://api.openoffice.org/docs/common/r ... Frame.html
Jest tam następujący kawałek kodu
Kod: Zaznacz cały
Sub Main
oFrame = ThisComponent.createInstance( "com.sun.star.text.TextFrame" )
oFrame.Width = 6000
ThisComponent.Text.insertTextContent( ThisComponent.Text.Start, oFrame, false )
oFrame.Text.String = "Hello, this text is within the frame."
End SubZapuszczenie tego kodu w trybie krokowym + podgląd obiektu oFrame w debuggerze (nawet bez XRay) skłoniły mnie do napisania
Kod: Zaznacz cały
Sub Test()
d = thisComponent
f = d.TextFrames
r = f.getByIndex(0)
r.HoriOrientPosition = r.HoriOrientPosition + 10
r.VertOrientPosition = r.VertOrientPosition + 30
r.Width = r.Width + 20
r.Text.String = "A ja tu byłem i tekst zmieniłem"
End SubJak już się tyle dowiedziałem, to łatwo było odszukać inne przykłady http://www.oooforum.org/forum/viewtopic.phtml?t=15967 i dokumentację http://wiki.services.openoffice.org/wik ... _Than_Text.
Tyle co do ramek tekstowych. Z kolei formularze są elementami kolekcji drawPage.Forms w dokumencie, i same są kolekcjami pól. Zarządza się nimi inaczej, nigdy tego nie robiłem z poziomu kodu. Coś na temat: http://wiki.services.openoffice.org/wik ... With_Forms.
Jednak z kompletnością dokumentacji nie jest zbyt dobrze. Z tego co rozumiem, właściwości obiektów generowane dynamicznie nie muszą być widoczne podczas ich przeglądania różnymi narzędziami (choć to stwierdzenie wymagałoby uściślenia).
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)