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ů: 3,435

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

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

Offline

Zápatí