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.
Este tópico descreve o uso da ID de Entrada de um item e ID da Loja de um repositório para acessar um item específico em um NameSpace.
Se você estiver criando uma solução mais complexa usando o Microsoft Outlook que envolve vincular ou fazer referência cruzada a itens em pastas, uma opção é usar as IDs (identificadores baseadas em MAPI) de cada item. Se você conhece as IDs de um item e a pasta em que ele está armazenado, você pode fazer referência direta ao item usando o método NameSpace.GetItemFromID .
Cada item do Outlook tem um campo chamado EntryID, que é um campo de identificação exclusiva gerado pelo sistema de repositório de mensagens para uso com as pastas MAPI que armazenam o item. É importante observar que sempre que um item é criado em uma pasta, ele recebe uma nova EntryID. Isso significa que o campo EntryID mudará se um item for movido para outra pasta ou for exportado e depois importado (mesmo que seja para a mesma pasta).
Cada pasta tem um campo de ID chamado Folder.StoreID, cujo valor é o mesmo para todas as pastas em um armazenamento de mensagens específico. Cada pasta também tem um campo Entry ID exclusivo.
Ao usar o método GetItemFromID para recuperar um item com base em sua identificação, especifique o EntryID do item e o StoreID da pasta. Se você não especificar o StoreID, GetItemFromID pesquisa o repositório de mensagens padrão.
O exemplo a seguir do Microsoft Visual Basic for Applications (VBA) ilustra o uso do método GetItemFromID. O código recupera o StoreID da pasta Contatos padrão, preenche uma matriz ( MyEntryID
) com as IDs de entrada de todos os contatos na pasta e, finalmente, recupera um item de contato específico:
Sub OutlookEntryID()
' If there are more than 500 contacts, change the following line:
Dim MyEntryID(500) As String
Dim StoreID As String
Dim EntryID As String
Set olns = Application.GetNamespace("MAPI")
Set objFolder = olns.GetDefaultFolder(olFolderContacts)
' Get the StoreID, which is a property of the folder.
StoreID = objFolder.StoreID
' Set objAllContacts equal to the collection of all contacts.
Set AllContacts = objFolder.Items
I = 0
' Loop to get all of the EntryIDs for the contacts.
For Each Item In AllContacts
I = I + 1
MyEntryID(I) = Item.EntryID
Next
' Randomly choose the 2nd contact to retrieve.
Set Item = olns.GetItemFromID(MyEntryID(2), StoreID)
Item.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.