Ciao a tutti,
Esiste un modo per cancellare più stili insieme? .Ne vorrei camcellare un centinaio e uno alla volta mi prende troppo tempi
Grazie 1000
Sandro
Cancellare più stili e formattazione insieme
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Cancellare più stili e formattazione insieme
openoffice 4.1.1
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Cancellare più stili e formattazione insieme
Ciao sandro,
Purtroppe non è possibile, ma una macro può farlo. Ecco un esempio (ispirato da quello):
Funziona soltanto per gli stili di paragrafi, ma posso modificarla se necessario.
Saluti.
Purtroppe non è possibile, ma una macro può farlo. Ecco un esempio (ispirato da quello):
Codice: Seleziona tutto
sub delete_paragraph_styles
dim stylelist()
doc = thiscomponent
parastyles = doc.StyleFamilies.ParagraphStyles
for each stylename in parastyles.ElementNames
style = parastyles.getByName(stylename)
if style.isUserDefined then
u = ubound(stylelist())+1
redim preserve stylelist(u)
stylelist(u) = stylename
end if
next stylename
if ubound(stylelist()) < 0 then
msgbox("Nessun stile da cancellare.")
exit sub
else
GlobalScope.BasicLibraries.loadLibrary("Tools")
stylelist() = BubbleSortList(stylelist())
end if
dlg = _deletestylebox("Stili da cancellare", stylelist())
if dlg.execute() = 0 then
dlg.dispose()
exit sub
end if
todelete = dlg.getControl("lbox1").SelectedItems()
dlg.dispose()
delete = True
for each stylename in todelete
style = parastyles.getByName(stylename)
if style.isInUse then
opt = msgbox("Lo stile <" & stylename & "> è in uso." & chr(10) & "Cancellarlo lo stesso?", 4, "Avvertenza")
if opt = 7 then
delete = False
end if
end if
if delete then
parastyles.removeByName(stylename)
else
delete = True
end if
next stylename
terminate:
end sub
function _deletestylebox(title, items())
dialog = createunoservice("com.sun.star.awt.UnoControlDialog")
dialogmodel = createunoservice("com.sun.star.awt.UnoControlDialogModel")
dialogmodel.Title = title
dialogmodel.Height = 100
dialogmodel.Width = 100
dialog.setModel(dialogmodel)
dialog.setVisible(True)
MARGIN = 7
DLG_HEIGHT = dialog.PosSize.Height
BTN_WIDTH = (dialog.PosSize.Width-3*MARGIN)/2
CTRL_WIDTH = dialog.PosSize.Width-MARGIN*2
BTN_HEIGHT = 30
LBL_HEIGHT = 15
LIST_HEIGHT = DLG_HEIGHT - BTN_HEIGHT - LBL_HEIGHT - 4*MARGIN
label = dialogmodel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
label.setPropertyValues(array("Label", "MultiLine"), array("Selezionare gli stili da cancellare:", True)
dialogmodel.insertByName("lbl1", label)
dialog.getControl("lbl1").setPosSize(MARGIN, MARGIN, CTRL_WIDTH, LBL_HEIGHT, com.sun.star.awt.PosSize.POSSIZE)
list = dialogmodel.createInstance("com.sun.star.awt.UnoControlListBoxModel")
list.setPropertyValues(array("BackgroundColor", "MultiSelection", "SelectedItems", "StringItemList"), array(rgb(255,255,234), True, array(0), items())
dialogmodel.insertByName("lbox1", list)
dialog.getControl("lbox1").setPosSize(MARGIN, LBL_HEIGHT+2*MARGIN, CTRL_WIDTH, LIST_HEIGHT, com.sun.star.awt.PosSize.POSSIZE)
btnok = dialogmodel.createInstance("com.sun.star.awt.UnoControlButtonModel")
btnok.setPropertyValues(array("DefaultButton", "Label", "PushButtonType"), array(True, "OK", com.sun.star.awt.PushButtonType.OK))
dialogmodel.insertByName("btnok", btnok)
dialog.getControl("btnok").setPosSize(MARGIN, DLG_HEIGHT-MARGIN-BTN_HEIGHT, BTN_WIDTH, BTN_HEIGHT, com.sun.star.awt.PosSize.POSSIZE)
btncancel = dialogmodel.createInstance("com.sun.star.awt.UnoControlButtonModel")
btncancel.setPropertyValues(array("Label", "PushButtonType"), array("ANNULLA", com.sun.star.awt.PushButtonType.CANCEL))
dialogmodel.insertByName("btncancel", btncancel)
dialog.getControl("btncancel").setPosSize(BTN_WIDTH+2*MARGIN, DLG_HEIGHT-MARGIN-BTN_HEIGHT, BTN_WIDTH, BTN_HEIGHT, com.sun.star.awt.PosSize.POSSIZE)
_deletestylebox = dialog
end function
Saluti.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Cancellare più stili e formattazione insieme
Ciao hubert lambert,
L' argomento macro è totalmente sconosciuto per me.
Mi dovresti indicare passo dopo passo come fare
L' unica cosa che posso dirti è che le numerose macro che ingenuamente ho creato quando non conoscevo l'argomento hanno una base di :Excel_CondFormat
Grazie 1000
Sandro
L' argomento macro è totalmente sconosciuto per me.
Mi dovresti indicare passo dopo passo come fare
L' unica cosa che posso dirti è che le numerose macro che ingenuamente ho creato quando non conoscevo l'argomento hanno una base di :Excel_CondFormat
Grazie 1000
Sandro
openoffice 4.1.1
-
- Volontario
- Messaggi: 164
- Iscritto il: venerdì 9 giugno 2017, 13:48
Re: Cancellare più stili e formattazione insieme
Ho fatto una piccolissima estensione, chè mi pare più facile (spero che funzioni con OpenOffice3.3).
Installa il file allegato "cancella_stili.oxt" (Strumenti -> Gestione estensioni -> Aggiungi), apri il tuo documento Writer ed esegui la macro "main" nella libreria "hubertlambert" (Strumenti -> Macro -> Esegui macro -> Macro personali -> hubertlambert).
Una volta finito, puoi rimuovere l'estensione.
Saluti.
Installa il file allegato "cancella_stili.oxt" (Strumenti -> Gestione estensioni -> Aggiungi), apri il tuo documento Writer ed esegui la macro "main" nella libreria "hubertlambert" (Strumenti -> Macro -> Esegui macro -> Macro personali -> hubertlambert).
Una volta finito, puoi rimuovere l'estensione.
Saluti.
Editato: Avevo dimenticato: a titolo informativo, LibreOffice supporta la cancellazione multipla. |
- Allegati
-
- cancella_stili.oxt
- (3.06 KiB) Scaricato 101 volte
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Win7 + LinuxMint
-
- Messaggi: 595
- Iscritto il: giovedì 12 gennaio 2012, 20:33
Re: Cancellare più stili e formattazione insieme
Ciao hubert lambert
Grazie 1000 per la tua risposta.
Per quello che conosco io è molto complicato ma ci provo e ti faccio sapere.
sandro
Grazie 1000 per la tua risposta.
Per quello che conosco io è molto complicato ma ci provo e ti faccio sapere.
sandro
openoffice 4.1.1