
Excluí meus feeds RSS no Outlook 2013 em Arquivo > Configurações da conta > Feeds RSS
No entanto, os feeds RSS ainda estão disponíveis no lado esquerdo do Outlook 2013. Pensei que talvez fosse necessário fechar e reabrir o Outlook 2013 para que as alterações [exclusão de feeds RSS] entrassem em vigor, mas nada acontece. Então, o que está acontecendo e o que devo fazer?
Responder1
Você simplesmente adora o quão consistente a Microsoft não é com suas convenções de UI, como seleção múltipla via Shift/Ctrl-clique - às vezes elas funcionam, às vezes não, e essa é a maneira mais simples de resolver isso problema é por meio da automação do Visual Basic.
Nota preliminar: testei isso no Outlook 2007, que é a única versão à qual tenho acesso atualmente; Dito isto, a API VBA do Outlook é geralmente bastante estável em minha experiência, e eu não esperaria que ela mudasse tão drasticamente em apenas duas versões principais a ponto de impedir o funcionamento do código a seguir. Se falhar, comente descrevendo seu mau comportamento com o máximo de detalhes possível e tentarei depurar.
Comece abrindo o editor VBA via Alt- F11. (Se isso não funcionar, você pode abrir o editor na guia Desenvolvedor, que primeiro você precisaadicionar à faixa de opções. Você faz isso clicando na guia Arquivo e depois em Opções; na janela Opções, clique em "Personalizar faixa de opções" no painel esquerdo, selecione "Guias principais" no menu suspenso "Personalizar a faixa de opções" e marque a caixa "Desenvolvedor". Assim que tiver a guia Desenvolvedor, selecione-a e clique em "Visual Basic".)
No editor do Visual Basic, expanda "Projeto1" e depois "Objetos do Microsoft Office Outlook"; em seguida, clique com o botão direito em "ThisOutlookSession" e escolha "Inserir" e depois "Módulo". Isso deve fornecer uma janela em branco intitulada "Projeto1 - Módulo1 (Código)". Nessa janela, cole o seguinte, que originouaqui:
Private Function GetFolder(ByVal FolderPath As String) As Outlook.folder
Dim TestFolder As Outlook.folder
Dim FoldersArray As Variant
Dim i As Integer
On Error GoTo GetFolder_Error
If Left(FolderPath, 2) = "\\" Then
FolderPath = Right(FolderPath, Len(FolderPath) - 2)
End If
'Convert folderpath to array
FoldersArray = Split(FolderPath, "\")
Set TestFolder = Application.Session.folders.Item(FoldersArray(0))
If Not TestFolder Is Nothing Then
For i = 1 To UBound(FoldersArray, 1)
Dim SubFolders As Outlook.folders
Set SubFolders = TestFolder.folders
Set TestFolder = SubFolders.Item(FoldersArray(i))
If TestFolder Is Nothing Then
Set GetFolder = Nothing
End If
Next
End If
'Return the TestFolder
Set GetFolder = TestFolder
Exit Function
GetFolder_Error:
Set GetFolder = Nothing
Exit Function
End Function
Private Sub DeleteFolders(ByVal oFolder As Outlook.folder)
Dim folders As Outlook.folders
Dim folder As Outlook.folder
Dim foldercount As Integer
On Error Resume Next
Set folders = oFolder.folders
foldercount = folders.Count
If foldercount Then
For Each folder In folders
folder.Delete
DeleteFolders folder
Next
End If
End Sub
Sub DeleteAllRssFeedsFolders()
Dim folder As Outlook.folder
' If your PST isn't loaded under the name "Personal Folders", then edit the
' folder path below and replace "Personal Folders" with whatever name heads
' the folder tree whose RSS feed contents you wish to remove.
Set folder = GetFolder("\\Personal Folders\RSS Feeds")
If Not (folder Is Nothing) Then
DeleteFolders folder
End If
End Sub
Perto da parte inferior, observe o seguinte: GetFolder("\\Personal Folders\RSS Feeds")
. No caso improvável de sua árvore de pastas não ter o nome "Pastas Pessoais", você precisará editar esta linha para substituir "Pastas Pessoais" por qualquer nome que encabeça sua árvore de pastas. Caso contrário, o código falhará, provavelmente silenciosamente.
Depois de colar o código e fazer as edições necessárias, execute o código pressionando F5 ou clicando no menu "Executar" e depois em "Executar Sub/UserForm". Você deverá ser solicitado a escolher a macro a ser executada; o único item da lista, já selecionado, deverá ser "DeleteAllRssFeedsFolders". Selecione esse item, se necessário, e clique em “Executar”. Você deverá ver as pastas RSS começarem a desaparecer imediatamente; pode levar um ou dois minutos para o processo terminar, especialmente com algumas centenas de pastas para excluir, mas assim que terminar, seu problema estará resolvido.
Se você suspeita que isso é algo que deseja fazer com frequência, provavelmente desejará salvar o projeto VBA e possivelmente também adicionar um item de menu/faixa de opções para invocá-lo, uma tarefa na qual não tenho interesse ou conhecimento específico e que portanto fica como exercício para o leitor interessado. (Se você não salvar o projeto em nenhum outro momento, será solicitado que você o salve ao fechar o Outlook; se não quiser mantê-lo, basta dizer "Não".)