web 2.0


Valor por extenso no Excel

Tempos atrás (e põe tempo nisso) me vi as voltar com o desafio de escrever uma função personalizada no Excel que escrevesse números por extenso até a casa dos trilhões de reais. Passados alguns anos, novamente fui solicitado pela mesma função e fui obrigado e desenterrar o meu Excel Addin.

O AddIn é auto-instalável bastando apenas clicar duas vezes sobre ele (baixe o arquivo em Extenso no Excel). Para criar um sistema de auto-instalação de AddIn, você deve proceder como segue:

Option Explicit
Dim ExtensoInstalado    As Boolean

Private Sub Workbook_AddinInstall()
   ExtensoInstalado = True
End Sub

Private Sub Workbook_Open()
    Dim naLista     As Boolean
    Dim nAddIn      As AddIn
    Dim nomeArq     As String

For Each nAddIn In AddIns
    If nAddIn.Name = ThisWorkbook.Name Then
        naLista = True
    End If
Next

If Not ThisWorkbook.IsAddin Then Exit Sub
Application.Workbooks.Add
    If Not ExtensoInstalado Then
        If Not naLista Then
            AddIns.Add (ThisWorkbook.FullName)
            MsgBox "O suplemento 'Extenso' foi instalado com sucesso...", vbInformation, "Suplemento instalado..."
        End If

            For Each nAddIn In AddIns
                If nAddIn.Name = ThisWorkbook.Name Then
                    nomeArq = nAddIn.Title
                End If
            Next
       
        Application.EnableEvents = False
        AddIns(nomeArq).Installed = True
        Application.EnableEvents = True
       
   
    End If
End Sub


O restante da UDF você pode ver no AddIn.

Tags: , , ,

VBA

Números por extenso no Word

Você alguma vez se viu tentando adicionar números no Word e depois, manualmente, escreveu o valor por extenso? Utilizando campos, nós podemos fazer isso rapidamente no Word.

Muitos utilizam o Microsoft Word para criar recibos dos mais variados tipos. A primeira coisa que devemos lembrar é que, se temos muitos recibos para imprimir o ideal é utilizar o sistema de mala direta (sistema de correspondência) do Microsoft Word conectado a alguma base de dados (podendo ser um banco de dados ou até mesmo o Excel).

Neste caso, aqui, veremos como tornar um número em extenso sem a necessidade de funções personalizadas.

Primeiramente, pressione as teclas SHIFT CTRL+F9 para adicionar um camposdo Word. Você terá um conjunto de chaves { }. Dentro deste campo, digite a seguinte fórmula:

{=1253,25 \* CardText \* lower} e centavos

A expressão “CardText” será responsável pela escrita do número por extenso. Já “lower” indicar que o texto de ser em minúscula. Você também pode utiliza upper e caps sendo que o primeiro escreverá tudo em maiúsculo ao passo que o segundo escreverá a primeira letra de cada palavra em maiúscula.

Outra alternativa é utilizar DollarText no lugar de CardText. Neste caso, os centavos aparecerão como 25/100.

Ao terminar a expressão, pressione a tecla F9 para atualizar o campo.

Tags: , , ,

Microsoft Office