
		aluisiosvp
		
		(usa Ubuntu)
		
		Enviado em 13/08/2014 - 08:41h 
		Prezados,
Fiz uma planilha para facilitar minha vida no trabalho. A planilha faz muitas coisas, mas, ironicamente, não consegui, de jeito nenhum, fazer algo que achei que fosse simples: um código para negritar apenas algumas palavras de uma célula.
O mais perto que cheguei disso foi o código abaixo, mas ele negrita o texto da célula DESDE O INÍCIO, e eu quero negritar ALGUMAS palavras NO MEIO do texto.
Se alguém puder ajudar, ficarei muito agradecido.
sub Negritar (pPlanilha, pCol, pLin, pInicio, pTamanho)
   'COMENTÁRIOS SOBRE OS PARÂMETROS
   'pPlanilha: é a planilha em que está a célula
   'pCol: a coluna da célula que contém o texto a ser trabalhado
   'Lin:  a linha da célula que contém o texto  a ser trabalhado
   'pInicio: é a posição do texto em que deve iniciar o negrito
   'Tamanho: é a extensão do texto que deve ser negritado
   '
   'Ex: Negritar ("Ata", 0, 11, 50, 10)
   'No exemplo, pega a célula A10 (0,11) e negrita o texto a partir da posição 50
   'com extensão de 10 caracteres
   oPlanilha = ThisComponent.Sheets.getByName(pPlanilha)
   ThisComponent.CurrentController.setActiveSheet(oPlanilha)
   tPlanilha = ThisComponent.CurrentController.ActiveSheet 
   Dim oCell As Object
   Dim oCursor As Object
   Dim oText As Object
   Dim colonLoc As Long
   Dim i As Long
   
   oCell = tPlanilha.getCellByPosition(pCol,pLin)
   tmpTamTotal = Len(oCell.getString())
   oText = oCell.getText()
   oCursor = oText.createTextCursor
   oCursor.gotoStart(False)
   for i = 0 to tmpTamTotal-1
      If i>= pInicio and i<=pInicio+pTamanho then
         oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
      End If
      oCursor.goRight(i,True)
   next i
End Sub