BASIC: Formatar números em Moeda

Gostaria de acrescentar o simbolo da Moeda no texto retornado pelo MsgBox

     Dim eCustoAtual As Double
     MsgBox "Para este Preço Sugerido o Lucro Sera Negativo !!!!!"_
     & Chr(13) &"O Preço Sugerido Mínimo que se deve inserir , para "_
     & chr(13) &"que o Lucro seja MAIOR que ZERO deve ser :"_ 
     & Format( eCustoAtual,"##,##0.00"), 16, "A T E N Ç Ã O"

Note que estou usando um Format , mas gostaria mesmo que a formatação fosse do tipo formarCurrency

Obg

Creio que alteração, nesta linha, revolva…

& chr(13) &"que o Lucro seja MAIOR que ZERO deve ser : R$ "_

Complemento

. Na Planilha em uma célula nomeada MOEDA, coloque a informação "R$ ", sem os parênteses.

   Sub Main
' vai para a célula nomeada MOEDA	
Dim document As Object
Dim dispatcher As Object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "MOEDA"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
'Pegar String Celula Atual
Dim oSel as Object
	oSel = ThisComponent.getCurrentSelection()
'	MsgBox oSel.getString()
	Var1 = oSel.getString()
		
     Dim eCustoAtual As Double
     MsgBox "Para este Preço Sugerido o Lucro Sera Negativo !!!!!"_
     & Chr(13) &"O Preço Sugerido Mínimo que se deve inserir , para "_
     & chr(13) &"que o Lucro seja MAIOR que ZERO deve ser : " & Var1 _ 
     & Format( eCustoAtual, "##,##0.00"), 16, "A T E N Ç Ã O"     
End Sub

.

Descrição da imagem


Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

Então . Não gostaria de engessar o código ( o que é quase impossível não fazer no libreoffice) mas ao colocar um “R$” concatenado a String fico restrito somente a moeda local . Caso mude a base meonetária o código tem ue ser reescrito … Gostaria mesmo de usar o Currency . Sei que é possivel mas não sei como . Muito Obrigado pela sua contribuição Gilberto

E SE pegar a informação de uma célula, da planilha ?

A célula em questão esta concatenada com Strings mais Moeda … Não consigo Formatar com Format
a não ser que trabalhe no conteudo da célula via programação . Não é isso que gostaria , e sim na Linguagem Basic do Libre office . Obrigado Gilberto

De qualquer forma em algum momento vc vai precisar indicar o tipo de moeda que está usando. E vai precisar alterar o código pra essa nova moeda.
Acho que para usar várias moedas o mais prático seria uma váriável global nas primeiras linhas do código, mas no seu caso com uma única moeda, uma constante global parece resolver Então em todo o código vc usa a Constante. E quando precisar mudar toda a base monetária vc teria que alterar apenas um valor: o valor dessa constante. Que se deixar na primeira linha do código fica mais fácil de achar e editar.

Public Const minhaMoeda As String = "R$"

Se no mesmo código vai usar mais de uma moeda aí teria que trabalhar com a variável global.

@MarcoSalles, vide complemento em minha resposta, conforme sugeri…

Obrigado a Todos . Mas ao usar

oSel = ThisComponent.getCurrentSelection()
’ MsgBox oSel.getString()
Var1 = oSel.getString()

Particularmente por vim de uma linguagem Orientada a Objetos onde o uso de Variáveis Globais não é recomendada ( No caso do Basic do LibreOfiice ) esta Orientação parace estar longe disso , eu opto por usar o getCurrentSelection ( Acredito ter várias propriedades a ser exploradas ) .

agradeço muito a opinião de todos . Muito obrigado mesmo