すべての色カテゴリを削除しようとしています。ただし、次のコードでは、すべてのケースを削除するとは限りません。通常は2つまたは3つのままにします。どのようにすべてのカラーカテゴリを削除できますか?
いくつかのカテゴリをスキップする理由はありますか?
Public Sub DeleteAllCategories() On Error GoTo MyErrorHandler 'Assume gOutlookApp (as in Dim gOutlookApp As Outlook.Application) is valid Dim theCategories As Outlook.Categories Set theCategories = gOutlookApp.Session.Categories Dim i As Long For i = 1 To theCategories.Count theCategories.Remove 1 DoEvents Next Exit Sub MyErrorHandler: MsgBox "DeleteAllCategories" & vbCrLf & vbCrLf & "Err = " & Err.Number & vbCrLf & "Description: " & Err.Description End Sub
これを削除推測です。 Forステートメントを 'Do While theCategories.Count> 0'に置き換えてみてください。 –
初心者の間違い、それを指摘してくれてありがとう。私はそれだけに変更しました( "Do While theCategories.Count> 0")、 "For i = 1 To 25:theCategories.Remove 1"(エラーもキャッチします)。しかしそれはまだカテゴリをスキップします。タイミングエラーのように見えるが、明らかにそうではない。可能な更新が必要ですか?アイデア?誰でも? – ForEachLoop
私は理解しているように、Outlook 2007のためにNameSpace.Categories機能が追加されているので、あなたのコードはOutlook 2003で動作することができません。(セッションはNameSpaceです。)メールアイテムからカテゴリを削除していると仮定しましたカテゴリ自体を削除しているようです。これはあなたがやりたいことですか? –