Como exportar suas tarefas do outlook para o excel com vba

Querendo ou não você é um fã de Microsoft, uma coisa boa que pode ser dito sobre os produtos MS Office, pelo menos, é o quão fácil é integrar cada um deles com o outro.

Basta pensar no poder que vem de ter e-mails recebidos automaticamente gerar novas tarefas ou novos compromissos do calendário, ou ter uma tarefa concluída e-mail automaticamente seu chefe com o relatório status atualizado a partir da descrição de tarefas.

Se você fizer isso direito, você pode cortar a carga de trabalho inteira do seu dia por uma batelada apenas automatizando as coisas de uma forma inteligente e eficiente.

Se você seguir a minha escrita aqui, então você sabe que no passado eu cobri coisas como integrando navegador web apresenta em Excel, automaticamente maximizar janelas de aplicativos, ou automatizar atualizações gráfico no Excel.Como fazer seu próprio navegador Internet Básico Usando VBAComo fazer seu próprio navegador Internet Básico Usando VBAQuando você realmente parar para pensar nisso, um navegador de Internet na sua forma mais simples não é uma aplicação realmente impressionante. Quero dizer, sim, a Internet é surpreendente por padrões de ninguém. O conceito de ligar ...consulte Mais informação

Bem, neste artigo eu estou indo cobrir uma outra tarefa de automação - na verdade, um que eu usei muitas vezes, mais recentemente - para atualizar automaticamente uma planilha do Excel com todos os seus restantes tarefas ativas do Outlook no final do dia.

Alimentando Tarefas do Outlook para uma planilha do Excel

Há uma série de razões que você pode querer fazer isso. Talvez você deseja acompanhar suas tarefas inacabadas em uma base diária em um formato que você pode rapidamente enviar fora a alguém (não tão fácil de fazer com tarefas do Outlook). Ou talvez ele vai se tornar parte de um relatório maior que você vai estar digitando-se no Word.

Seja qual for o caso, a capacidade de capturar e saída incompleta informações tarefa Outlook é uma coisa útil.

Para este exemplo, aqui está a minha lista de tarefas Outlook amostra com 5 tarefas restantes que ainda não foram ainda concluídas.

perspectivas de exportação tarefas para se destacar

Tudo o que nós vamos fazer aqui, está em VBA. No Outlook, você chegar ao editor VBA, clicando em “Ferramentas", então "macro”E, em seguida, escolher o“Editor do Visual Basic“.

Tarefas do Outlook Exportar para CSV

O código que você vai usar para capturar sua lista de tarefas e exportá-lo para o Excel não é realmente tão complicado como você poderia pensar. O primeiro passo é ligar em ambos os objectos do Outlook e objetos do Excel, criando as definições das variáveis ​​necessárias. Em seguida, usando o objeto pasta de trabalho que você criou, começar por criar o cabeçalho na planilha.

Dim strReport Como StringDim olnameSpace Como Outlook.NameSpaceDim taskFolder Como tarefas Outlook.MAPIFolderDim Como Outlook.ItemsDim tsk Como Outlook.TaskItemDim objExcel As New Excel.ApplicationDim exWb Como Excel.WorkbookDim SHT Como Excel.WorksheetDim strMyName Como StringDim X como IntegerDim y Como IntegerSet exWb = objExcel.Workbooks.Open ("c: temp MyActiveTasks.xls") `ExWb.Sheets (strMyName) .Delete` exWb.Sheets.Add (strMyName) Definir olnameSpace = Application.GetNamespace ("MAPI") Definir taskFolder = olnameSpace.GetDefaultFolder (olFolderTasks) tarefas set = taskFolder.ItemsstrReport = ""`Criar HeaderexWb.Sheets ("Sheet1") .Cells (1, 1) = "Sujeito"exWb.Sheets ("Sheet1") .Cells (1, 2) = "Data de Vencimento"exWb.Sheets ("Sheet1") .Cells (1, 3) = "Porcentagem concluída"exWb.Sheets ("Sheet1") .Cells (1, 4) = "estado"

Então, aqui está o que a nova planilha parece. Seu aplicativo Outlook acaba de criar um novo arquivo do Excel chamada “MyActiveTasks.xls” no diretório C: temp, e criou um cabeçalho para as tarefas que você está prestes a inserir.

Tarefas do Outlook Exportar para CSV



Então, agora é hora de extrair as suas tarefas e inseri-los no arquivo Excel. Eu uso uma partida variável “y” em dois, a fim de certificar-se da primeira linha que é usada não é a primeira, porque eu não quero substituir o cabeçalho.

y = 2 Porque x = 1 Para tasks.CountSet TSK = tasks.Item (x) `strReport = strReport + + tsk.Subject "- "`Preencha DataIf Nem tsk.Complete ThenexWb.Sheets ("Ryan") .Cells (y, 1) = tsk.SubjectexWb.Sheets ("Ryan") .Cells (Y, 2) = tsk.DueDateexWb.Sheets ("Ryan") .Cells (y, 3) = tsk.PercentCompleteexWb.Sheets ("Ryan") .Cells (y, 4) = tsk.Statusy = y + x 1End IfNext

O que este script faz é pesquisas através de toda a sua lista de itens de tarefas no Outlook, verifica para ver se o item for concluído ainda, e se não for, então ele insere as informações tarefa em 4 células da planilha. Se você quisesse, você poderia inserir mais informações. Apenas explorar o que informações de tarefas está disponível, digitando “tsk.” E, em seguida, navegar pela lista de propriedades que surgem.

Agora aqui está o que a folha se parece.

Tarefas do Outlook Exportar para CSV

Sendo um pouco de um perfeccionista, ainda há um problema. Observe como a coluna A grampeado o último assunto tarefa?”Eu não gosto disso. Então, vamos adicionar um pouco mais de código para Ajustar automaticamente todas as colunas na tabela de Excel.

`Autofit todos coluna widthsFor Cada SHT Em ActiveWorkbook.Worksheetssht.Columns ("UMA") (.EntireColumn.AutoFitsht.Columns"B") (.EntireColumn.AutoFitsht.Columns"C") (.EntireColumn.AutoFitsht.Columns"D") .EntireColumn.AutoFitNext shtexWb.SaveexWb.CloseSet exWb = Nada

o Salve  e Fechar métodos nessas últimas linhas vai salvar a folha e fechá-lo para que ele não fique bloqueado pela aplicação, caso contrário, seria difícil para abrir o arquivo Excel até que você fechou Outlook.

Então, agora aqui está o que a planilha acabado parece.

perspectivas de exportação tarefas para se destacar

Quando você definir o script para ser executado? Bem, eu configurá-lo para ser executado no “Application.Close ()” evento, que é executado quando você sair do Outlook, no final do dia. Isso fará com que o Outlook produzir o relatório de folha de cálculo Excel no final do dia, tudo por conta própria.

Você pode pensar em quaisquer outros usos legais para esta técnica? Talvez disparar automaticamente um e-mail com a lista de tarefas, ou reproduzi-los em um arquivo HTML e FTPing-lo ao seu rede servidor?

Com um pouco de criatividade, é incrível o que você pode retirar com um pouco de automação de scripting. Compartilhar seus próprios pensamentos e idéias na seção de comentários abaixo!

Shutterstock


Artigos relacionados