メインコンテンツへスキップ

Outlookでカテゴリに基づいてタスクを印刷するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

例えば、Outlookのタスクにさまざまなカラーカテゴリがあるとします。そして、これらのカテゴリに基づいてタスクリストを異なるページに印刷したい場合、Outlookでこの作業をどのように解決すればよいでしょうか?

異なるページにカテゴリに基づいてタスクを手動で1つずつ印刷する

VBAコードを使用して、異なるページにカテゴリに基づいてタスクを印刷する


異なるページにカテゴリに基づいてタスクを手動で1つずつ印刷する

Outlookでは、異なるカテゴリに基づいてタスクを異なるページに1つずつ手動で印刷できます。以下の手順で行ってください:

1. Outlookを起動し、タスクペインに移動して印刷したいタスクフォルダを選択し、 Ctrl + Eキーを押して 検索ボックスをアクティブにします。次に、検索タブの下にある「カテゴリ分け」アイコンをクリックし、印刷したいカラーカテゴリを選択します。スクリーンショットをご覧ください:

doc print tasks by category 1

2. これで、選択したカラーカテゴリを持つすべてのタスクが一覧表示されます。スクリーンショットをご覧ください:

doc print tasks by category 2

3. 次に、「ファイル」「印刷」をクリックして、次のスクリーンショットに示すようにタスクリストを印刷します:

doc print tasks by category 3

4. 上記の手順を繰り返して、他のカラーカテゴリを持つタスクリストを1つずつ手動で印刷します。


VBAコードを使用して、異なるページにカテゴリに基づいてタスクを印刷する

以下は、異なるページにカテゴリに基づいてタスクを一度に印刷するのに役立つVBAコードです。次の手順で行ってください:

1. タスクペインに移動し、印刷したい タスクフォルダを選択します。

2. 次に、ALT + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

3. 次に、「挿入」「モジュール」をクリックし、以下のコードをコピーして開かれた空白のモジュールに貼り付けます:

VBAコード:異なるページにカテゴリに基づいてタスクを印刷する:

Sub PrintTaskList_SpecificColorCategory()
    Dim xTaskItems As Outlook.Items
    Dim xTask As Outlook.TaskItem
    Dim xDictionary As Scripting.Dictionary
    Dim xCategoryArr As Variant, xCategory As Variant
    Dim xExcelApp As Excel.Application
    Dim xExcelWorkbook As Excel.Workbook
    Dim xExcelWorksheet As Excel.Worksheet
    Dim xSheet As Excel.Worksheet
    Dim xKey As Variant
    Dim xKeyStr As String
    Dim i As Long, xLastRow As Integer
    On Error Resume Next
    If Application.ActiveExplorer.CurrentFolder.DefaultItemType <> olTaskItem Then Exit Sub
    Set xTaskItems = Application.ActiveExplorer.CurrentFolder.Items
    Set xDictionary = New Scripting.Dictionary
    For Each xTask In xTaskItems
        xCategoryArr = Split(xTask.Categories, ",")
        For Each xCategory In xCategoryArr
            If xDictionary.Exists(Trim(xCategory)) = False Then
               xDictionary.Add Trim(xCategory), 0
            End If
        Next
    Next
    If xDictionary.Count = 0 Then
        MsgBox "The current Task doesn’t have any category", vbOKOnly + vbInformation, "Kutools for Outlook"
        Exit Sub
    End If
    Set xExcelApp = New Excel.Application
    Set xExcelWorkbook = xExcelApp.Workbooks.Add
    xExcelApp.Visible = True
    i = 0
    If xDictionary.Count > xExcelWorkbook.Sheets.Count Then
        xExcelWorkbook.Sheets.Add Count:=xDictionary.Count - xExcelWorkbook.Sheets.Count
    End If
    For Each xKey In xDictionary.Keys
        xKeyStr = CStr(xKey)
        i = i + 1
        Set xExcelWorksheet = xExcelWorkbook.Sheets(i)
        xExcelWorksheet.Name = xKeyStr
        With xExcelWorksheet
             .Range("A1") = xKeyStr
             .Range("A1").Font.Bold = True
             .Range("A1").Font.Size = 18
             .Range("A1", "C1").HorizontalAlignment = xlCenter
             .Range("A1", "C1").VerticalAlignment = xlCenter
             .Range("A1", "C1").Merge
             .Range("A2") = "Subject"
             .Range("A2").Font.Bold = True
             .Range("B2") = "Start Date"
             .Range("B2").Font.Bold = True
             .Range("C2") = "Due Date"
             .Range("C2").Font.Bold = True
        End With
        For Each xTask In xTaskItems
            If InStr(xTask.Categories, xKeyStr) > 0 Then
               xLastRow = xExcelWorksheet.UsedRange.Rows.Count + 1
               With xExcelWorksheet
                    .Range("A" & xLastRow) = xTask.Subject
                    .Range("B" & xLastRow) = xTask.StartDate
                    .Range("C" & xLastRow) = xTask.DueDate
               End With
            End If
        Next
        xExcelWorksheet.Columns("A:C").AutoFit
    Next
    For Each xSheet In xExcelWorkbook.Sheets
        xSheet.PrintOut
    Next
    xExcelWorkbook.Close False
    xExcelApp.Quit
End Sub

4. Microsoft Visual Basic for Applicationsウィンドウで、「ツール」>「参照設定」をクリックします。「参照設定 - プロジェクト1」ダイアログボックスで、「利用可能な参照」リストボックスから「Microsoft Excel Object Library」と「Microsoft Scripting Runtime」オプションをチェックします。スクリーンショットをご覧ください:

doc print tasks by category 4

5. 「OK」ボタンをクリックし、F5キーを押してこのコードを実行します。コードが終了すると、異なるカテゴリを持つタスクリストが異なるページに印刷されます。

OutlookのAIメールアシスタント:スマートな返信、クリアなコミュニケーション(ワンクリックで魔法のような操作!) 無料

Kutools for OutlookのAIメールアシスタントを使用して、毎日のOutlookタスクを効率化しましょう。この強力なツールは、過去のメールから学習し、インテリジェントで正確な返信を提供し、メールの内容を最適化し、メッセージの作成や修正を手間なく行うことができます。
doc ai email handle

この機能がサポートする内容:

  • スマート返信:過去の会話に基づいて調整された、的確で使用準備の整った返信を取得します。
  • 強化されたコンテンツ:メールの文章を自動的に洗練させ、明瞭さと影響力を高めます。
  • 簡単な作成:キーワードを入力するだけで、複数のライティングスタイルでAIが残りを処理します。
  • インテリジェント拡張:文脈を理解した提案で考えを広げます。
  • 要約:長文のメールを瞬時に簡潔にまとめます。
  • グローバル対応:メールを簡単にどの言語にも翻訳できます。

この機能がサポートする内容:

  • スマートメール返信
  • 最適化されたコンテンツ
  • キーワードベースの下書き
  • インテリジェントなコンテンツ拡張
  • メールの要約
  • 多言語翻訳

何より、この機能は永遠に完全無料です今すぐAIメールアシスタントをダウンロードしてお楽しみください


最高のオフィス生産性ツール

速報: Kutools for Outlook が無料版をリリース!

新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...

👩🏼‍🤝‍👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...

Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2