Estou com dificuldade em fazer funcionar a Função PRIMAIUSCULA do Calc utilizando macro.
Toda vez que tento executar, me é apresentada uma mensagem de erro:
Message: /build/libreoffice/parts/libreoffice/build/sc/source/ui/unoobj/cellsuno.cxx:4777
Quando pesquisei pelo Ask, encontrei algumas reclamações sobre o não funcionamento do comando de Alternar Caixa, mas ocorreu em versões anteriores do LO, que já foram sanadas.
SO: Linux Ubuntu 20.04.3 LTS
LO: versão 7.2.4.1
Macro inteira:
Sub MainTest
Dim oDoc as Object, oSheet as Object
Dim oSvc, proper
oDoc = ThisComponent
oSheet = oDoc.getCurrentController.getActiveSheet()
For i = 0 To fnLastRow
fnproper (oSheet.getCellRangeByName(“A” & i) )
Next i
end sub
Function fnProper (sCell$)
Dim oService, proper
oSheet = ThisComponent.getCurrentController.getActiveSheet()
oService = CreateUnoService(“com.sun.star.sheet.FunctionAccess”)
proper = oService.callFunction(“PROPER” , oSheet.getCellRangeByName(sCell) )
fnProper = proper
End Function 'fnProper
Function fnLastRow
Dim oSheet as Object, oService as Object, nLinha as Variant
oSheet = ThisComponent.getCurrentController.getActiveSheet()
oService = CreateUnoService(“com.sun.star.sheet.FunctionAccess”)
nLinha = oService.callFunction (“COUNTA” , _
array(oSheet.getCellRangeByName(“A:A”)))
fnLastRow = nLinha
End Function 'fnLastRow
Arquivo exemplo:
exemploProper.ods (14,5,KB)