Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Como o Microsoft Outlook dá suporte à Automação, você pode controlar o Outlook de qualquer programa gravado com o Microsoft Visual Basic. A Automation oferece um método padrão para um aplicativo acessar os objetos, os métodos, as propriedades e os eventos de outros aplicativos que dão suporte à Automation.
O modelo de objeto do Outlook fornece toda a funcionalidade necessária para manipular dados armazenados em pastas do Outlook e fornece a capacidade de controlar muitos aspectos da interface do usuário (interface do usuário) do Outlook.
Para iniciar uma sessão de Automação do Outlook, você pode usar a associação antecipada ou tardia. A associação tardia usa a função GetObject do Visual Basic ou a função CreateObject para inicializar o Outlook. Por exemplo, o código a seguir define uma variável de objeto para o objeto Outlook Application , que é o objeto de nível mais alto no modelo de objeto do Outlook. Primeiro, todo o código de Automação deve definir um objeto do Outlook Application para poder acessar outros objetos do Outlook.
Dim objOL as Object
Set objOL = CreateObject("Outlook.Application")
Para usar a associação antecipada, primeiro será necessário definir uma referência à biblioteca de objetos do Outlook. Use o comando Reference no menu Ferramentas do Visual Basic for Applications (VBA) para definir uma referência à Biblioteca de Objetos do Microsoft Outlook xx.x, onde xx.x representa a versão do Outlook com que você está trabalhando. Então você poderá usar a sintaxe a seguir para iniciar uma sessão do Outlook.
Dim objOL as Outlook.Application
Set objOL = New Outlook.Application
A maioria das soluções de programação interagem com os dados armazenados no Outlook. O Outlook armazena todas as suas informações como itens em pastas. As pastas estão contidas em um ou mais repositórios. Depois de definir uma variável de objeto para o objeto Do Outlook Application , você normalmente definirá um objeto NameSpace para se referir a MAPI, conforme mostrado no exemplo a seguir.
Set objOL = New Outlook.Application
Set objNS = objOL.GetNameSpace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderContacts)
Depois de definir uma variável de objeto para referenciar a pasta que contém os itens com que você deseja trabalhar, use o código adequado para realizar sua tarefa, como mostrado no exemplo a seguir.
Sub CreateNewDefaultOutlookTask()
Dim objOLApp As Outlook.Application
Dim NewTask As Outlook.TaskItem
' Set the Application object
Set objOLApp = New Outlook.Application
' You can only use CreateItem for default items
Set NewTask = objOLApp.CreateItem(olTaskItem)
' Display the new task form so the user can fill it out
NewTask.Display
End Sub
Se você estiver usando VBA para criar macros, há duas maneiras de automatizar o Outlook. Você pode implementar uma macro que cria uma nova instância do objeto Application do Outlook. O CreateNewDefaultOutlookTask()
método acima mostra como chamar New Outlook.Application
para criar uma nova instância de objeto Application .
Cuidado Essa nova instância do Outlook não é confiável e pode disparar o guarda de modelo de objeto.
Como uma alternativa à criação e à automação de uma instância separada do Outlook, você poderá usar o VBA para implementar uma macro que automatize a instância atual do Outlook. Para fazer isso, use o objeto Application intrínseco ao ambiente. Esse objeto Application é confiável e pode evitar o disparo da guarda do modelo de objeto. For more information about the object model guard, see What's New for Developers in Outlook 2007 (Part 1 of 2). O exemplo a seguir mostra o CreateAnotherNewDefaultOutlookTask()
método usando o objeto Application da instância atual do Outlook.
Sub CreateAnotherNewDefaultOutlookTask()
Dim NewTask As Outlook.TaskItem
' You can only use CreateItem for default items
Set NewTask = Application.CreateItem(olTaskItem)
' Display the new task form so the user can fill it out
NewTask.Display
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.