Eu tinha criado um macro no Office que eu coloquei no atalho do control enter, no qual ele passava para a próxima linha e já negritava ou desnegritava a linha. Tentei repetir no Writer mas ele no máximo negrita a próxima e nao desnegrita em seguida, basicamente ele só funciona uma vez. To sofrendo aqui pra fazer funcionar e eu nao entendo nadinha de macros. se alguém puder ajudar.
inclusive, quando eu associo a macro q eu tentei fazer ao atalho do Command enter, ele nao roda o macro.
O arquivo esta salvo como odt (LibreOffice)?
Poste a macro completa?
Para esclarecer, você deseja que seja ativado o negrito (ou não) sempre no próximo parágrafo, e não que o texto do parágrafo seja negritado, correto?
.
Sendo assim, o que você quer é que cada parágrafo (linha?) seja separada pela formatação do texto nela escrito?
.
Seria algo isso?
Parágrafo 1
Parágrafo 2
Parágrafo 3
Parágrafo 4
Seria negritar a linha ativa?
A atual “desnegrita” quando ir para a próxima linha.
eu nao entendo nadinha dessa parte de editar macros, so gravar
REM ***** BASIC *****
sub boldreal
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, “.uno:InsertPara”, “”, 0, Array())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = “Bold”
args2(0).Value = true
dispatcher.executeDispatch(document, “.uno:Bold”, “”, 0, args2())
end sub
Com base no comentário do @schiavinatto
Seria algo parecido com isso?
Ask_AplicaNegrito.odt (17,1,KB)
A macro AplicarNegritoNaUltimaLinha
está vinculada ao atalho Ctrl+Enter.
Option Explicit ' Força a declaração de variáveis
REM ======================================================= MAIN ROUTINES
Sub AlternarNegritoNoTexto(Optional oDoc)
Dim oCursor As Object
REM Obtem o documento
oDoc = IIf( isMissing(oDoc), ThisComponent, oDoc)
REM Obtem cursor do texto
oCursor = oDoc.Text.createTextCursor()
REM Move cursor para o início do texto
oCursor.gotoStart(false)
REM Percorre parágrafo por parágrafo e alterna a formatação
Do
oCursor.gotoEndOfParagraph( true )
If oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD Then
oCursor.CharWeight = com.sun.star.awt.FontWeight.NORMAL
Else
oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
End If
Loop While oCursor.goToNextParagraph( false )
End Sub ' BasicProject.BP_Writer.AlternarNegritoNoTexto
REM -----------------------------------------------------------------------------
Sub AplicarNegritoNaUltimaLinha(Optional oDoc)
Dim oCursor As Object
REM Obtem o documento
oDoc = IIf( isMissing(oDoc), ThisComponent, oDoc)
REM Obtem cursor do texto
oCursor = oDoc.Text.createTextCursor()
REM Move cursor para o início do texto
oCursor.gotoStart(false)
REM Se parágrafo com negrito, retirar formatação
Do
oCursor.gotoEndOfParagraph( true )
If oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD Then
oCursor.CharWeight = com.sun.star.awt.FontWeight.NORMAL
End If
Loop While oCursor.goToNextParagraph( false )
REM Se cursor na ultima linha aplicar negrito
If oCursor.isCollapsed() Then
oCursor.gotoStartOfParagraph( true )
oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
End If
End Sub ' BasicProject.BP_Writer.AplicarNegritoNaUltimaLinha
Olá @FelipeAle, atalhos de teclado não são transportados com o arquivo, só funciona na maquina que criou.
Na versão 7.5.2.2, Ctrl+Enter = Inserir quebra de página, em Win.10.