Artigo: 180696 - Última revisão: segunda-feira, 12 de Fevereiro de 2007 - Revisão: 2.2

OL97: Exemplos de programação de referência de itens e pastas

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Modelo de objectos do Microsoft Outlook 97 é normalmente utilizado para aceder a vários tipos de itens nas pastas. Este artigo fornece uma descrição geral dos vários métodos, propriedades e objectos que podem ser utilizados para referir itens do Outlook e pastas.

Este artigo resume os seguintes tópicos:
Referência de pastas existentes
  • Método GetDefaultFolder
  • Objecto de pastas
  • Propriedades principais
  • Método GetSharedDefaultFolder
  • Método GetFolderFromID
Criar e referenciar novas pastas
  • Método Folders.Add
Criar e fazer referência a itens novos >
  • Método CreateItem
  • Método Items.Add
  • Método CreateItemFromTemplate
Fazer referência a itens existentes
  • Utilizar Items(I) ou for each... Next
  • Utilizar os itens ("Isto é o assunto")
  • Localizar o método
  • Restringir o método

Mais Informação

Microsoft fornece exemplos de programação ilustração só, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas.
Se dispõe de limitada experiência de programação, poderá contactar um Microsoft Certified Partner ou a serviços de aviso. Para obter mais informações, visite estes Web sites da Microsoft:

Microsoft certificado Partner - https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)

Serviços Microsoft aviso - http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms) NOTA: O Visual Basic código Scripting Edition (VBScript) tem de utilizar o valor numérico de constantes definidas na biblioteca de objectos da Outlook. Pode encontrar uma lista destes valores existentes no Microsoft Outlook objecto biblioteca ficheiro de ajuda (Vbaoutl.hlp) em tópicos "Microsoft Outlook constantes".

Referência de pastas existentes

Método GetDefaultFolder:

Pastas predefinidas são as do mesmo nível, a pasta a receber que recebe correio a receber. Se tiver mais do que uma pasta a receber no seu perfil, premir CTRL + SHIFT + É sempre selecciona a pasta ' a receber ' predefinida. As pastas predefinidas são aquelas que os utilizadores a maior parte dos trabalhar com numa base regular, tal como as pastas Calendário, contactos e tarefas. Pode facilmente fazer referência a estas pastas utilizando o método GetDefaultFolder. GetDefaultFolder tem um argumento, o que é o tipo de pasta que pretende consultar. Os exemplos seguintes atribuir a variável de objecto pasta minha pasta herdam a pasta de contactos predefinida:
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set MyFolder = olns.GetDefaultFolder(olFolderContacts)

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set MyFolder = olns.GetDefaultFolder(10)

				
pastas objecto: pode utilizar o objecto de pastas para fazer referência a qualquer pasta que está visível na lista de pastas do Outlook. Este objecto é normalmente utilizado para referir-se numa pasta pública do Exchange ou qualquer outra pasta que não é uma pasta predefinida do Outlook.

Os exemplos seguintes ilustram como fazer referência a uma pasta pública chamada "Minha pasta pública." Note que, normalmente, iniciar a pasta mais e funcionam de forma para a pasta que terá de referenciar. Note também que os nomes das pastas são sensíveis a maiúsculas e minúsculas e deverá corresponder exactamente os nomes que aparecem na lista de pastas do Outlook.
  ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set MyFolder1 = olns.Folders("Public Folders")
   Set MyFolder2 = MyFolder1.Folders("All Public Folders")
   Set MyFolder3 = MyFolder2.Folders("My Public Folder")

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set MyFolder1 = olns.Folders("Public Folders")
   Set MyFolder2 = MyFolder1.Folders("All Public Folders")
   Set MyFolder3 = MyFolder2.Folders("My Public Folder")

				
os exemplos seguintes ilustram como pode consultar uma pasta denominada "Business tarefas," o que é uma subpasta da pasta de tarefas predefinida.
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set MyTasksFolder = olns.GetDefaultFolder(olFolderTasks)
   Set MyFolder = MyTasksFolder.Folders("Business Tasks")

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set MyTasksFolder = olns.GetDefaultFolder(13)
   Set MyFolder = MyTasksFolder.Folders("Business Tasks")
				
propriedade principal:

Se já tiver uma referência a um item do Outlook ou a pasta, pode utilizar a propriedade principal para criar uma referência para a pasta o item ou pasta está localizada na.

Os seguintes exemplos devolvem o nome de uma pasta para um item específico:
   ' Automation code example.
   Set ol = New Outlook.Application
   Set MyItem = ol.CreateItem(olMailItem) ' Create new item.
   MyItem.Save                            ' Save it to Inbox.
   Set MyFolder = MyItem.Parent           ' MyFolder = Inbox.

   ' VBScript code example.
   ' Returns the folder of the current item.
   Set MyFolder = Item.Parent
				
GetSharedDefaultFolder:

Pode utilizar este método se alguém lhe forneceu delegar permissões para uma das respectivas pastas predefinidas. Além disso, tem já ligou à pasta no Outlook clicando no menu Ficheiro, clicando em Abrir pasta especial e, em seguida, clicando em pasta do Exchange Server.

Para mais informações sobre como aceder a pastas de outros utilizadores, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
160302  (http://support.microsoft.com/kb/160302/EN-US/ ) OL97: Como abrir o calendário de outra da pessoa ou outras pastas
Depois de Outlook configurado para utilizar outra pessoa pasta, GetSharedDefaultFolder método é utilizado da mesma forma como GetDefaultFolder, mas especificar um argumento adicional--nome de pasta da outra pessoa que pretende referenciar. Neste exemplo primeiro resolve o nome da pessoa para verificar se é um nome válido que possa ser utilizado com o método GetSharedDefaultFolder.
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set myRecipient = olns.CreateRecipient("John Smith")
   myRecipient.Resolve
   If myRecipient.Resolved Then

      Set JohnFolder = olns.GetSharedDefaultFolder _
         (myRecipient, olFolderContacts)
   End If

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set myRecipient = olns.CreateRecipient("John Smith")
   myRecipient.Resolve
   If myRecipient.Resolved Then
      Set JohnFolder = olns.GetSharedDefaultFolder _
         (myRecipient, 10)
    End If
				
GetFolderFromID:

Este método seria normalmente utilizado apenas em soluções mais complexas onde uma solução mantém um controlo das tanto o ID Arm. o ID de movimento de uma pasta para que pode ser rapidamente referenciado numa altura posterior.

Para mais informações sobre como utilizar o método GetFolderFromID, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
170991  (http://support.microsoft.com/kb/170991/EN-US/ ) OL97: Programming com EntryIDs StoreIDs e GetItemFromID

Criar e referenciar novas pastas

Método Folders.Add:

Utilizando o método Add a colecção de pastas permite-lhe criar uma nova pasta. O primeiro argumento especifica o nome da pasta e o segundo argumento especifica o tipo de pasta. O exemplo seguinte adiciona uma pasta tarefas de negócio a pasta de tarefas predefinido. Porque não foi especificado o tipo de pasta, irá herdar o tipo de pasta principal.
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set MyTasksFolder = olns.GetDefaultFolder(olFolderTasks)
   Set MyNewFolder = MyTasksFolder.Folders.Add("Business Tasks")

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set MyTasksFolder = olns.GetDefaultFolder(13)
   Set MyNewFolder = MyTasksFolder.Folders.Add("Business Tasks")
				

Criar e referenciar novos itens

Método CreateItem:

O método CreateItem cria um novo item do Outlook predefinido. Se necessitar de criar um item baseado um formulário personalizado que criou, utilize o método de Items.Add abaixo. O método CreateItem encontra convenientemente fora do objecto de aplicação de nível superior no modelo de objecto do Outlook. O método demora apenas um argumento, uma constante que indica o tipo de item para criar.
   ' Automation code example.
   Set ol = New Outlook.Application
   Set MyTaskItem = ol.CreateItem(olTaskItem)
   MyTaskItem.Display

 ' VBScript code example.
   Set MyTasktem = Item.Application.CreateItem(13)
   MyTaskItem.Display
				
Items.Add método:

Através do método de adicionar a colecção de itens permite-lhe criar um novo item com base na classe de mensagem, quer seja uma classe de mensagem do Outlook predefinida como IPM.Contact ou uma classe de mensagem para um formulário personalizado, como, por exemplo, IPM.Contact.MyForm. Para utilizar o método de Items.Add, primeiro tem de referenciar a pasta onde pretende criar um novo item.

Para obter mais informações sobre classes de mensagem, consulte os seguintes artigos na base de dados de conhecimento da Microsoft:
176567  (http://support.microsoft.com/kb/176567/EN-US/ ) OL97: Trabalhar com definições de formulário e formulários One-Off
170301  (http://support.microsoft.com/kb/170301/EN-US/ ) OL97: Como actualizar itens existentes para utilizar um novo formulário personalizado
Os exemplos a seguir utilizam o método Items.Add para criar um novo item baseado um formulário de contacto personalizado denominado MyForm:
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set myFolder = olns.GetDefaultFolder(olFolderContacts)
   Set MyItem = MyFolder.Items.Add("IPM.Contact.MyForm")
   MyItem.Display

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set myFolder = olns.GetDefaultFolder(10)
   Set MyItem = MyFolder.Items.Add("IPM.Contact.MyForm")
   MyItem.Display
				
os exemplos seguintes utilizam o método Items.Add para criar um novo item de contacto predefinida:
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set myFolder = olns.GetDefaultFolder(olFolderContacts)
   Set MyItem = MyFolder.Items.Add
   MyItem.Display

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set myFolder = olns.GetDefaultFolder(10)
   Set MyItem = MyFolder.Items.Add
   MyItem.Display
				
Nota: Se utilizar o método Items.Add, não importa qual o formulário predefinido para a pasta está. Pode especificar qualquer classe de mensagem válida desde que tenha sido publicada na pasta ou tenha sido publicada na biblioteca de formulários pessoais ou organizacionais.

Método CreateItemFromTemplate:

Utilize o método CreateItemFromTemplate para criar um novo item com base num ficheiro de modelo do Outlook (.oft) ou formato de ficheiro .msg. Uma vez que a maior parte dos formulários são publicados numa pasta ou biblioteca de formulários, este método não é utilizado frequentemente. Provavelmente, a razão mais comum para utilizar este método seria se estava a criar um programa de configuração do Microsoft Visual Basic para instalar formulários para uma solução Outlook. Isto normalmente deve ser feito para utilizadores que não tem acesso à rede ou normalmente trabalhar offline no Outlook. O Visual Basic programa seria efectue o seguinte:
  • Automatizar o Outlook.
  • Utilize CreateItemFromTemplate para abrir um formulário a partir de uma partilha de rede ou disquete.
  • Ao utilizar o modelo de objectos do Outlook, publicar o formulário para utilização posterior.
       ' Automation code example.
       Set ol = New Outlook.Application
       Set olns = ol.GetNameSpace("MAPI")
       ' Set MyFolder to the default contacts folder.
       Set MyFolder = olns.GetDefaultFolder(olFolderContacts)
       ' Set MyItem to an .oft file on a floppy disk.
       Set MyItem = ol.CreateItemFromTemplate("A:\Contact.oft")
       ' Set MyForm to the item Form Description for publishing.
       Set MyForm = MyItem.FormDescription
       ' Name the form, which also sets its message class.
       MyForm.Name = "My Contact"
       ' Publish the folder to the Contacts folder.
       MyForm.PublishForm olFolderRegistry, MyFolder
       ' Close and do not save changes to the item.
       MyItem.Close olDiscard
    						

Fazer referência a itens existentes

Utilizar Items(I) ou for each... Next:

Normalmente destas abordagens são utilizadas para efectuar um ciclo através de todos os itens numa pasta. A colecção de itens contém todos os itens numa pasta específica e pode especificar o item para fazer referência, utilizando um índice com a colecção de itens. Isto é normalmente utilizado com para I = 1 à construção programação n.

Se estiver a utilizar VBScript versão 2.0 ou posterior, pode utilizar em vez disso, a construção de programação para cada... Next para efectuar um ciclo através de itens na colecção sem especificar um índice. Ambas as abordagens obter o mesmo resultado.

Os exemplos seguintes utilizam a abordagem Items(I) para efectuar um ciclo através de todos os contactos na pasta Contactos e apresentar o respectivo campo NomeCompleto numa caixa de diálogo.
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   ' Set MyFolder to the default contacts folder.
   Set MyFolder = olns.GetDefaultFolder(olFolderContacts)
   ' Get the number of items in the folder.
   NumItems = MyFolder.Items.Count
   ' Set MyItem to the collection of items in the folder.
   Set MyItems = MyFolder.Items
   ' Loop through all of the items in the folder.
   For I = 1 to NumItems

      MsgBox MyItems(I).FullName
      Next

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   ' Set MyFolder to the default contacts folder.
   Set MyFolder = olns.GetDefaultFolder(10)
   ' Get the number of items in the folder.
   NumItems = MyFolder.Items.Count
   ' Set MyItem to the collection of items in the folder.
   Set MyItems = MyFolder.Items
   ' Loop through all of the items in the folder.
   For I = 1 to NumItems
      MsgBox MyItems(I).FullName
   Next
				
seguintes exemplos utilizam a construção for each... Next para obter o mesmo resultado que os exemplos anteriores:
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   ' Set MyFolder to the default contacts folder.
   Set MyFolder = olns.GetDefaultFolder(olFolderContacts)
   ' Set MyItems to the collection of items in the folder.
   Set MyItems = MyFolder.Items
   For Each SpecificItem in MyItems
      MsgBox SpecificItem.FullName
   Next

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   ' Set MyFolder to the default contacts folder.
   Set MyFolder = olns.GetDefaultFolder(10)
   ' Set MyItem to the collection of items in the folder.
   Set MyItems = MyFolder.Items
   For Each SpecificItem in MyItems
      MsgBox SpecificItem.FullName
   Next
				
Items("This is the subject") utilizando:

Pode também utilizar a colecção de itens e especificar uma cadeia de texto que corresponda ao campo assunto de um item. Esta abordagem não é utilizada frequentemente.

Os exemplos seguintes apresentar um item na pasta a receber cujo assunto contenha "Please help na sexta-feira"!
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   ' Set MyFolder to the default Inbox.
   Set MyFolder = olns.GetDefaultFolder(olFolderInbox)
   Set MyItem = MyFolder.Items("Please help on Friday!")
   MyItem.Display

   ' VBScript code example.
   Set olns = Item.Application.GetNameSpace("MAPI")
   ' Set MyFolder to the default Inbox.
   Set MyFolder = olns.GetDefaultFolder(6)
   Set MyItem = MyFolder.Items("Please help on Friday!")
   MyItem.Display
				
localizar método:

Utilize o método localizar para procurar um item numa pasta com base no valor de um dos respectivos campos. Se a localização tiver êxito, é possível utilizar o método LocalizarSeguinte para procurar itens adicionais que satisfaçam os mesmos critérios de procura.

Procure os seguintes exemplos para ver se existem quaisquer compromissos de alta prioridade.
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNamespace("MAPI")
   Set myFolder = olns.GetDefaultFolder(olFolderTasks)
   Set MyTasks = myFolder.Items
   ' Importance corresponds to Priority on the task form.
   Set MyTask = MyTasks.Find("[Importance] = ""High""")
   If MyTask Is Nothing Then ' the Find failed
      MsgBox "Nothing important. Go party!"
   Else
      MsgBox "You have something important to do!"
   End If

   ' VBScript code example.
   Set olns = Item.Application.GetNamespace("MAPI")
   Set myFolder = olns.GetDefaultFolder(13)
   Set MyTasks = myFolder.Items
   ' Importance corresponds to Priority on the task form.
   Set MyTask = MyTasks.Find("[Importance] = ""High""")
   If MyTask Is Nothing Then ' the Find failed
      MsgBox "Nothing important. Go party!"
   Else
      MsgBox "You have something important to do!"
   End If
				
restringir método:

O método restringir é semelhante ao método de localização, mas em vez de devolver um único item, devolve um conjunto de itens que satisfaçam os critérios de procura. Por exemplo, pode utilizar este método para localizar todos os contactos que trabalham na mesma empresa.

Os exemplos seguintes Mostrar todos os contactos que trabalham na empresa de produtos de software:
   ' Automation code example.
   Set ol = New Outlook.Application
   Set olns = ol.GetNameSpace("MAPI")
   Set MyFolder = olns.GetDefaultFolder(olFolderContacts)
   Set MyItems = MyFolder.Items
   MyClause = "[CompanyName] = ""ACME Software"""
   Set MyACMEItems = MyItems.Restrict(MyClause)
   For Each MyItem in MyACMEItems
      MyItem.Display
   Next

   ' VBScript code example.
   ' Requires VBScript version 2.0 or later.
   Set olns = Item.Application.GetNameSpace("MAPI")
   Set MyFolder = olns.GetDefaultFolder(10)
   Set MyItems = MyFolder.Items
   MyClause = "[CompanyName] = ""ACME Software"""
   Set MyACMEItems = MyItems.Restrict(MyClause)
   For Each MyItem in MyACMEItems
      MyItem.Display
   Next
				
GetItemFromID método:

Este método seria normalmente utilizado apenas em soluções mais complexas onde uma solução mantém um registo de tanto o ID Arm. o ID de movimento de um item, de modo podem ser rapidamente obtido numa altura posterior.

Para mais informações sobre como utilizar o método GetItemFromID, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
170991  (http://support.microsoft.com/kb/170991/EN-US/ ) OL97: Programming com EntryIDs StoreIDs e GetItemFromID

Referências

Para mais informações sobre como criar soluções com o Microsoft Outlook 97, consulte os seguintes artigos na base de dados de conhecimento da Microsoft:
166368  (http://support.microsoft.com/kb/166368/EN-US/ ) OL97: Como obter ajuda programação com o Outlook
170783  (http://support.microsoft.com/kb/170783/EN-US/ ) OL97: Perguntas e respostas: perguntas sobre como personalizar ou programação Outlook

A informação contida neste artigo aplica-se a:
  • Microsoft Outlook 97 Standard Edition
Palavras-chave: 
kbmt kbhowto kbprogramming KB180696 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 180696  (http://support.microsoft.com/kb/180696/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.