Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

VBA Outlook - Anexando arquivo ao email - Attaching files to MS Outlook email item using VBA



Você sempre quis saber como anexar um arquivo a um email do MS Outlook usando o VBA

Este pequeno código faz exatamente isso, sem muita complicação.

Lembre-se, entretanto, que vai precisar instalar as referências para o MS Outlook para que ele trabalhe bem. Este código foi testado no MS Outlook 2007, 2003 e 2002. Divirta-se!

Sub Sample()
  Dim oOutlook As Outlook.Application
  Dim oEmailItem As MailItem

  On Error Resume Next
  Set oOutlook = GetObject(, "Outlook.Application")
  If oOutlook Is Nothing Then Set oOutlook = CreateObject("Outlook.Application")

  Set oEmailItem = oOutlook.CreateItem(olMailItem)

  With oEmailItem
    .Attachments.Add "C:\Bernardes.doc"
    .To = "bernardess@gmail.com"
    .Display
  End With

  Set oEmailItem = Nothing
  Set oOutlook = Nothing
End Sub


Referências
Tags: VBA, Outlook, email, anexar, 



VBA Excel - Fechando uma planilha com Timer - Close an Excel workbook using a timer

Que tal fechar a sua planilha caso esta fique aberta por tempo demais?

Private Sub Workbook_Open()
    Let CloseAs = CDbl(Now + 5 / 86400)
    SetClosingTime
End Sub

Coloque o código abaixo num novo módulo:

Public CloseAs      As Double
Sub SetClosingTime()
    Application.OnTime CloseAs, "CloseWorkbook", , True
End Sub
Sub CloseWorkbook()
    With ThisWorkbook
        .Save
        .Close
    End With

'   Remove the line below to close the application
'   Application.Quit
End Sub

Referências
Tags: VBA, Word, number, sequencial, número



Word VBA - Como acrescentar um número seqüencial a um documento do MS Word - Adding a serial number to a Word document



Esta dica mostra como adicionar um número de série para um documento do MS Word usando o VBA. 

O número é atualizado sempre que o arquivo é aberto ...

Private Sub Document_Open()

  Set myCell = ThisDocument.Tables(1).Cell(Row:=1, Column:=1)

  Let nSerial = Left(myCell.Range.Text, Len (myCell.Range.Text) - 2)

  If nSerial = "" Then nSerial = 0
  ThisDocument.Tables (1).Cell (Row:=1, Column:=1).Range = nSerial + 1

  ThisDocument.Save

End Sub



Referências
Tags: VBA, Word, number, sequencial, número



VBA Outlook - Importando feriados para o Outlook a partir de Lista no MS Excel - Importing Outlook's holiday list into a function in MS Excel

Termo de Responsabilidade 


Este artigo lhe mostrará como recuperar feriados armazenados no MS Outlook e devolvê-los ao MS Excel. Estamos pressupondo que as férias tenham sido importados para o MS Outlook.

Para importar os feriados no MS Outlook, siga a seguinte instrução: Tools à Options àPreferences à Calendar Options. Em seguida, clique em adicionar feriados e escolha o país para o qual deseja as férias, pode escolher quantos quiser.

Note que o código funcionará em Inglês, e não em outras línguas. Mas pode adaptá-lo para a sua língua. Isso acontece porque alguns dos campos do calendário foram traduzidos para as línguas locais, enquanto outros não. Pode perceber que o campo  Categories é Categorias em espanhol, por exemplo.

Para começar, adicione um novo módulo de classe ao seu projeto. Então vá para Tool à References àMicrosoft Outlook xx Object Library e instale a biblioteca. Vamos usar a biblioteca de objeto do MS Outlook para acessar alguns dos seus recursos, bem como facilitar o processo de programação.

Renomeie a classe que adicionou para clsHolidays e abra-a, e insira o código abaixo:


Function Holidays(ByVal StartsOn As StringByVal EndsOn As String, _
    Location As StringAs Variant

    Location As StringAs Variant

    Dim appOutlook      As Outlook.Application

    Dim nSpace          As Outlook.Namespace

    Dim calFolder       As Outlook.MAPIFolder

    Dim calItem         As Outlook.AppointmentItem

    Dim filterItems     As Outlook.Items

    Dim strFilter       As 

    Dim holName         As New Collection

    Dim holDate         As New Collection

    Dim i               As 

    Dim aHoliday   

    Set appOutlook = CreateObject("Outlook.Application")

    Set nSpace = appOutlook.GetNamespace("MAPI")

    Set calFolder = nSpace.GetDefaultFolder(olFolderCalendar) 

    strFilter = "[Categories]= 'Holiday' And [Location]= '" 

    strFilter = strFilter & Location & "'" & " And [Start]>= '" 

    strFilter = strFilter & StartsOn & "'" & " And [End]<= '" 

    strFilter = strFilter & EndsOn & "'"

    Set filterItems = calFolder.Items.Restrict(strFilter)

    filterItems.Sort "[Start]", False   

    On Error Resume 

    For Each calItem In filterItems

        holName.Add calItem.Subject, calItem.Subject

        holDate.Add calItem.Start, CStr(calItem.Start)

    Next   

    ReDim aHoliday(holName.Count - 1, 1)   

    For i = 0 To holName.Count - 1

        aHoliday(i, 0) = holName.Item(i + 1)

        aHoliday(i, 1) = holDate.Item(i + 1)

    Next   

    Holidays = aHoliday   

    Set appOutlook = 

    Set nSpace = 

    Set calFolder = 

    Set calItem = 

    Set filterItems = 

    Set holName = 

    Set holDate = Nothing 

End
 Function

Com o código no módulo, insira agora um novo módulo e neste, adicione a seqüência de código abaixo:


Function Holidays(InitialDate As String, EndDate As String,_     
         Country As String) As Variant
    
         Dim Holiday As New clsHolidays

         Let Holidays = Holiday.Holidays(InitialDate, EndDate, Country)
End Function

Isso retornará uma função de array e, portanto, deve inseri-lo usando CTRL + SHIFT + ENTER

Inline image 3

Enjoy!

Referências
Tags: VBA, Outlook, Excel, feriado, holiday,




VBA Tips - Retirando acento - Remove and replace accent characters from a string.

VBA Tips - Retirando acento - Remove and replace accent characters from a string.

Essa versão foi atualizada. Clique na imagem abaixo para ver o código atualizado para a versão Office 365 a partir de 2024:

CLIQUE AQUI PARA ACESSAR O CÓDIGO ATUALIZADO!


  Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com

 Série de Livros nut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication) eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes

eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Access — André Luiz BernardeseBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Excel — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Outlook — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Word — André Luiz BernardeseBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes 
diHITT - Notícias