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 exemplo mostra como abrir e exibir o conteúdo de um arquivo iCalendar, conforme se trate de um arquivo que contém um único compromisso ou um compromisso recorrente ou um arquivo que contém um grupo de compromissos.
Exemplo
Este exemplo de código primeiro tenta usar o método OpenSharedItem do objeto NameSpace para abrir o arquivo iCalendar como um arquivo iCalendar de compromisso único. Se tiver êxito, exibirá os detalhes do item de compromisso em uma janela do inspetor. No entanto, ele não copiará o item para o armazenamento padrão. Se o exemplo não puder abrir o arquivo como um arquivo iCalendar de compromisso único, ele usará o método OpenSharedFolder do objeto NameSpace para tentar importar o conteúdo como um novo calendário no loja padrão. Se a importação for realizada, ele exibirá o calendário em uma janela do explorador.
Este exemplo de código utiliza a classe auxiliar OutlookItem, definida em Criar uma classe auxiliar para acessar membros comuns de itens do Outlook, para chamar convenientemente o método OutlookItem.Display para exibir o compromisso sem ter que lançar o item primeiro.
Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instrução Imports ou using não deve vir diretamente antes de funções no exemplo de código, mas deve ser adicionada antes da declaração Class pública. The following lines of code show how to do the import and assignment in Visual Basic and C#.
Imports Outlook = Microsoft.Office.Interop.Outlook
using Outlook = Microsoft.Office.Interop.Outlook;
Private Sub OpenICalendarFile(ByVal fileName As String)
If String.IsNullOrEmpty(fileName) Then
Throw New ArgumentException(_
"Parameter must contain a value.", "exportFileName")
End If
If Not File.Exists(fileName) Then
Throw New FileNotFoundException(fileName)
End If
'' First try to open the icalendar file as an appointment
'' (not a calendar folder).
Dim item As Object = Nothing
Try
item = Application.Session.OpenSharedItem(fileName)
Catch
End Try
If Not item Is Nothing Then
'' Display the item
Dim olItem As OutlookItem = New OutlookItem(item)
olItem.Display()
Return
End If
'' If unsucessful in opening it as an item,
'' try opening it as a folder
Dim importedFolder As Outlook.Folder = Nothing
Try
importedFolder = TryCast( _
Application.Session.OpenSharedFolder(fileName), _
Outlook.Folder)
Catch
End Try
'' If sucessful, open the folder in a new explorer window
If Not importedFolder Is Nothing Then
Dim explorer As Outlook.Explorer = _
Application.Explorers.Add( _
importedFolder, _
Outlook.OlFolderDisplayMode.olFolderDisplayNormal)
explorer.Display()
End If
End Sub
private void OpenICalendarFile(string fileName)
{
if (string.IsNullOrEmpty(fileName))
throw new ArgumentException("exportFileName",
"Parameter must contain a value.");
if (!File.Exists(fileName))
throw new FileNotFoundException(fileName);
// First try to open the icalendar file as an appointment
// (not a calendar folder).
object item = null;
try
{
item = Application.Session.OpenSharedItem(fileName);
}
catch
{ }
if (item != null)
{
// Display the item
OutlookItem olItem = new OutlookItem(item);
olItem.Display();
return;
}
// If unsucessful in opening it as an item,
// try opening it as a folder
Outlook.Folder importedFolder = null;
try
{
importedFolder = Application.Session.OpenSharedFolder(
fileName, Type.Missing, Type.Missing, Type.Missing)
as Outlook.Folder;
}
catch
{ }
// If sucessful, open the folder in a new explorer window
if (importedFolder != null)
{
Outlook.Explorer explorer =
Application.Explorers.Add(importedFolder,
Outlook.OlFolderDisplayMode.olFolderDisplayNormal);
explorer.Display();
}
}