
I have deleted my RSS feeds in Outlook 2013 via File > Account Settings > RSS Feeds
However the RSS feeds are still available in the left hand side of Outlook 2013. I thought that I might have had to close and reopen Outlook 2013 for the changes [deletion of RSS feeds] to take effect, but nothing happens. So what's going on and what shall I do?
Antwort1
You've just got to love how consistent Microsoft isn't with its UI conventions, such as multiple select via Shift/Ctrl-click -- sometimes they work, sometimes they don't, and it turns out the simplest way of solving this problem is by means of Visual Basic automation.
Prefatory note: I've tested this in Outlook 2007, which is the only version to which I currently have access; that said, the Outlook VBA API is generally quite stable in my experience, and I would not expect it to change so drastically in only two major versions as to prevent the following code from working. If it fails, please comment describing its misbehavior in as much detail as possible, and I'll attempt to debug.
Start by opening the VBA editor via Alt-F11. (If that doesn't work, you can open the editor from the Developer tab, which you'll first need to add to the ribbon. Klicken Sie dazu auf die Registerkarte „Datei“ und dann auf „Optionen“. Klicken Sie im Fenster „Optionen“ im linken Bereich auf „Menüband anpassen“, wählen Sie „Hauptregisterkarten“ aus der Dropdown-Liste „Menüband anpassen“ und aktivieren Sie das Kontrollkästchen „Entwickler“. Wenn Sie die Registerkarte „Entwickler“ angezeigt bekommen, wählen Sie sie aus und klicken Sie dann auf „Visual Basic“.)
Erweitern Sie im Visual Basic-Editor "Projekt1", dann "Microsoft Office Outlook-Objekte", klicken Sie dann mit der rechten Maustaste auf "DieseOutlookSitzung" und wählen Sie "Einfügen", dann "Modul". Daraufhin sollte ein leeres Fenster mit dem Titel "Projekt1 - Modul1 (Code)" angezeigt werden. Fügen Sie in dieses Fenster Folgendes ein, das ursprünglichHier:
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
Unten ist Folgendes zu beachten: GetFolder("\\Personal Folders\RSS Feeds")
. Im unwahrscheinlichen Fall, dass Ihr Ordnerbaum nicht mit dem Namen „Persönliche Ordner“ beginnt, müssen Sie diese Zeile bearbeiten und „Persönliche Ordner“ durch den Namen ersetzen, der Ihrem Ordnerbaum beginnt. Wenn Sie dies nicht tun, schlägt der Code wahrscheinlich unbemerkt fehl.
Sobald Sie den Code eingefügt und alle erforderlichen Änderungen vorgenommen haben, führen Sie den Code aus, indem Sie F5 drücken oder auf das Menü „Ausführen“ und dann auf „Sub/UserForm ausführen“ klicken. Sie sollten aufgefordert werden, das auszuführende Makro auszuwählen. Das einzige bereits ausgewählte Element in der Liste sollte „DeleteAllRssFeedsFolders“ sein. Wählen Sie dieses Element bei Bedarf aus und klicken Sie dann auf „Ausführen“. Sie sollten sehen, wie RSS-Ordner sofort verschwinden. Es kann ein oder zwei Minuten dauern, bis der Vorgang abgeschlossen ist, insbesondere wenn mehrere hundert Ordner gelöscht werden müssen. Sobald dies jedoch abgeschlossen ist, sollte Ihr Problem gelöst sein.
Wenn Sie vermuten, dass Sie dies häufig tun möchten, möchten Sie das VBA-Projekt wahrscheinlich speichern und möglicherweise auch ein Menü-/Ribbon-Element hinzufügen, um es aufzurufen. Dies ist eine Aufgabe, für die ich kein besonderes Interesse oder Wissen habe und die daher dem interessierten Leser als Übung überlassen bleibt. (Wenn Sie das Projekt zu keinem anderen Zeitpunkt speichern, werden Sie beim Schließen von Outlook dazu aufgefordert. Wenn Sie es nicht behalten möchten, sagen Sie einfach „Nein“.)