2011-09-16 11 views
2

アイテム内のテキストに基づいて、特定のカテゴリのアイテムをマークしたいと考えています。特定のカテゴリのアイテムにマークを付ける

私は以下のコードを持っています。

Sub ProcessRSS() 
    ' Read RSS items and process the usful ones. 
    Dim objList As Object 
    Dim objItem As Object 
    Dim iCount As Integer 

    Set objList = Application.ActiveExplorer.CurrentFolder.Items 
    iCount = 0 

    For Each objItem In objList 
     If (InStr(objItem.Body, "(WA)") > 0) Then 
      objItem.Categories = "Important" 
      If (InStr(objItem.Categories, "Important") > 0) Then 
       iCount = iCount + 1 
      End If 
     End If 
    Next 

    Debug.Print "Marked " & iCount & " RSS Items as important." 

End Sub 

フォルダを選択してマクロを実行しますが、カテゴリはマークされません。

+0

**重要なカテゴリに**を設定した後、objItem.Categoriesに「重要」が含まれているのはなぜですか? Categoriesプロパティを設定した後に項目数を増やさないのはなぜですか? – JimmyPena

答えて

2

カテゴリを更新した後には、.Saveアイテムが必要です。以下は、保存したForループです。補足として、.Categoriesはカンマ区切りの文字列であるため、既存のカテゴリを上書きすることに注意してください。 .Categoriesが空であるかどうかをテストし、そうでない場合は、「重要」を追加するとよいでしょう。

For Each objItem In objList 
    If (InStr(objItem.Body, "(WA)") > 0) Then 
     objItem.Categories = "Important" 
     objItem.Save 
     If (InStr(objItem.Categories, "Important") > 0) Then 
      iCount = iCount + 1 
     End If 
    End If 
Next 
+0

ブリリアント!私が必要としていたシンプルな情報を見つけることはとても難しいとは思いません。どうもありがとうございました! – FizzBuzz

関連する問題