Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 16. 8. 2012 10:44:05

ds23
Člen
Registrace: 16. 8. 2012
Příspěvků: 1

Jednoduché makro na barvu textu - VYŘEŠENO

Mám v OO makro na označování textu červenou barvou. Přiřadil jsem i klávesovou zkratku. Práce je rychlejší, označím text, stisknu zkratku a text je červený, nebo i podbarvený žlutě, podle potřeby. Ale jak mám naspat podmínku do makra, aby v podstatě text označovalo inverzně. Něco takového:

když je vybraný text černý
označ ho červeně
když je vybraný text červený
označ ho černě

Díky za pomoc.

Tady je text makra co používám:

sub CervenePismo
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "FontColor"
args1(0).Value = 16711680
dispatcher.executeDispatch(document, ".uno:FontColor", "", 0, args1())
end sub

__________________________________________________
Značím jako vyřešené

;o)

Editoval sedlacekdan (26. 8. 2012 15:22:54)

Offline

#2 21. 8. 2012 08:08:21

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Jednoduché makro na barvu textu - VYŘEŠENO

Vítejte na fóru,

makro by mohlo vypadat takto:

sub zmen_barvu_pisma
ozn_text = thisComponent.currentController.ViewCursor
if ozn_text.charColor = 16711680 then
ozn_text.charColor = 0
elseif ozn_text.charColor = 0 then
ozn_text.charColor = 16711680
endif
end sub

Makro změní barvu pouze při přesné shodě barev (černá a červená), v ostatních případech nebude fungovat.

snad bude k užitku.


;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 6. 5. 2013 11:13:34

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,949

Re: Jednoduché makro na barvu textu - VYŘEŠENO

Vracím se ke staršímu tématu:
Danovo makro je sice "správné", ale na běžném textu nechodí. Problém je v tom, že černá barva je sice dána jako číslo "nula", ale to je opravdu černá barva. Normálně zde není číslo barvy "0", ale "-1". To číslo -1 znamená implicitní nastavení barvy.
   Takže v tom tvaru, jak je napsáno funguje pouze s makrem, které už 1x obarvilo na červeno, následně na "černo". Pak chodí (což může být i záměr pro určité případy).
   Pokud však má chodit samo o sobě, musíte přepsat kód barvy "0" na "-1".

sub zmen_barvu_pisma
ozn_text = thisComponent.currentController.ViewCursor
if ozn_text.charColor = 16711680 then
ozn_text.charColor = -1
elseif ozn_text.charColor = -1 then
ozn_text.charColor = 16711680
endif
end sub

Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Online

Zápatí