Outlook 2013でフィードを削除した後、以前にダウンロードしたRSSアイテムを削除する


0

Outlook 2013の[ファイル]> [アカウント設定]> [RSSフィード]でRSSフィードを削除しました

ただし、RSSフィードはOutlook 2013の左側で引き続き使用できます。変更[RSSフィードの削除]を有効にするにはOutlook 2013を閉じて再度開く必要があると思いましたが、何も起こりません。それで、何が起こっているのでしょうか?


1
おそらく、既に取得したアイテムでいっぱいのフォルダーを保持しているが、新しいものをチェックしていない可能性があります。左側のサイドバーにリストされているフィードを削除(たとえば、右クリック、「削除」または「削除」)できますか?
アーロンミラー

左側のサイドバーから300を超えるRSSフィードを1つずつ削除する時間がありません。
mms911

けっこうだ; ShiftキーまたはCtrlキーを押しながらクリックして複数選択できますか?それに失敗した場合、親の「RSS Feeds」フォルダーを完全に削除するとどうなりますか?(フォルダー構造は、このOffice KBの記事で説明されているものと似ている仮定しています。)
アーロンミラー

左側のサイドバーからのフィードを複数選択することはできません。これが、バルクフィードの削除のためにアカウント設定に移動することを学んだ理由です。Office Webサイトの図のようなフォルダーにフィードがありません。明確化のためのスクリーンショットはこちらi44.tinypic.com/2ebfp7b.png
mms911

Blech。まあ、少なくともOutlookにはまともなVisual Basic APIがあります-私の答えをご覧ください。
アーロンミラー

回答:


0

Shift / Ctrlキーを押しながらクリックすることによる複数選択など、MicrosoftのUI規則が一貫していないことを愛する必要があります。問題は、Visual Basicの自動化によるものです。

序文:Outlook 2007でこれをテストしました。これは、現在アクセスできる唯一のバージョンです。とはいえ、Outlook VBA APIは私の経験では一般的に非常に安定しており、次のコードが機能しないように、2つのメジャーバージョンで大幅に変更されるとは思わないでしょう。失敗した場合は、その不正行為について可能な限り詳細にコメントしてください。デバッグを試みます。

Alt-でVBAエディターを開くことから始めF11ます。(それでも機能しない場合は、最初にリボン追加する必要がある[開発]タブからエディターを開くことができます。これを行うには、[ファイル]タブ、[オプション]をクリックします。[オプション]ウィンドウで、[カスタマイズ左側のペインの[リボン]で、[リボンのカスタマイズ]ドロップダウンから[メインタブ]を選択し、[開発者]ボックスをオンにします。[開発者]タブを選択したら、[Visual Basic]をクリックします。

Visual Basicエディターで、「Project1」、「Microsoft Office Outlook Objects」の順に展開します。次に、「ThisOutlookSession」を右クリックし、「挿入」、「モジュール」の順に選択します。これにより、「Project1-Module1(Code)」というタイトルの空のウィンドウが表示されます。そのウィンドウで、ここで作成された以下を貼り付けます

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

下部の近くで、次のことに注意してくださいGetFolder("\\Personal Folders\RSS Feeds")。まれに、フォルダツリーの名前が「Personal Folders」ではない場合、この行を編集して「Personal Folders」をフォルダツリーの先頭にある名前に置き換える必要があります。そうしないと、おそらく静かにコードが失敗します。

コードを貼り付けて必要な編集を行ったら、F5キーを押すか、[実行]メニューをクリックしてから[サブ/ユーザーフォームの実行]をクリックしてコードを実行します。実行するマクロを選択するよう求められます。すでに選択されているリスト内の唯一のアイテムは、「DeleteAllRssFeedsFolders」です。必要に応じてその項目を選択し、「実行」をクリックします。RSSフォルダーがすぐに消え始めます。特に数百個のフォルダーを削除する場合、プロセスが完了するまでに1〜2分かかる場合がありますが、完了したら問題を解決する必要があります。

これが頻繁にやりたいことだと思う場合は、おそらくVBAプロジェクトを保存し、メニュー/リボン項目を追加してそれを呼び出すこともできます。したがって、関心のある読者のための演習として残されています。(プロジェクトをそれ以外の時間に保存しない場合は、Outlookを閉じるときに保存するように求められます。保存しない場合は、「いいえ」とだけ言ってください。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.