三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

XXXXXXさんへ Outlook 予定表 分類を探る olApptItem.Categories

Outlook 予定表 分類を探りたかったので、

Outlook 予定
https://msdn.microsoft.com/ja-jp/library/cc446751.aspx
のプロパティから

分類 カテゴリー?なんてプロパティがあるので、

AppointmentItem.Categories プロパティ (Outlook)
https://msdn.microsoft.com/ja-jp/vba/outlook-vba/articles/appointmentitem-categories-property-outlook

'Display the Show Categories dialog box

olApptItem.ShowCategoriesDialog

MsgBox olApptItem.Categories

を入れて、テストしてみます。

いつもの右往左往した酔っ払いテスト動画
【Outlook VBA】予定表 AppointmentItem 分類 Categories を探ったテスト動画【三流君】 - YouTube
www.youtube.com

"分類項目 赤"など選択した分類が表示されるので、
.Categories = "分類の文字列"
などで使えると思います。

おまけ
複数の分類は
.Categories = "分類項目 赤,分類項目 黄"
と、カンマで区切った文字列で複数選択もできるみたいです。

下記の質問をいただきました。

一つのメールから以下の3つのAppointmentItemを作ろうとしております。

1、締切当日

2、締切2日前のワーニング

3、締切5日前のワーニング


と一つの資料作成依頼メールをおかずに、3つAppointmentItemで

自分のスケジュール表にいれるべく、下記まで、コーディング致しました。

Private Sub CommandButton1_Click()

Dim myAppoitem As Object
Dim myAppoitem2 As Object
Dim myAppoitem3 As Object

Dim Myday1 As Integer
Dim Mymonth1 As Integer
Dim Myyear1 As Integer

Dim Myday2 As Integer
Dim Mymonth2 As Integer
Dim Myyear2 As Integer

Dim Myday3 As Integer
Dim Mymonth3 As Integer
Dim Myyear3 As Integer

Dim Myactivemail As Object
Dim Mykenmei As String
Dim MyBody As String

Set Myactivemail = Application.ActiveInspector.CurrentItem

    Mykenmei = Myactivemail.Subject

    MyBody = Myactivemail.Body


Myday1 = Day(ComboBox1.Value)
Mymonth1 = Month(ComboBox1.Value)
Myyear1 = Year(ComboBox1.Value)

Set myAppoitem = Application.CreateItem(olAppointmentItem)

myAppoitem.Subject = "備忘〆" & Mykenmei

myAppoitem.Body = MyBody

myAppoitem.Start = Mymonth1 & "/" & Myday1 & "/" & Myyear1 & " 10:00 AM"

myAppoitem.Duration = 30

myAppoitem.ReminderMinutesBeforeStart = 5
myAppoitem.ReminderSet = True

SetApptColorLabel myappoitemt, 2

myAppoitem.Save


Myday2 = Day(ComboBox2.Value)
Mymonth2 = Month(ComboBox2.Value)
Myyear2 = Year(ComboBox2.Value)

Set myAppoitem = Application.CreateItem(olAppointmentItem)

myAppoitem.Subject = "備忘①" & Mykenmei

myAppoitem.Body = MyBody

myAppoitem.Start = Mymonth2 & "/" & Myday2 & "/" & Myyear2 & " 10:00 AM"

myAppoitem.Duration = 30

myAppoitem.ReminderMinutesBeforeStart = 5
myAppoitem.ReminderSet = True

myAppoitem.Save

SetApptColorLabel myappoitemt, 2

Myday3 = Day(ComboBox3.Value)
Mymonth3 = Month(ComboBox3.Value)
Myyear3 = Year(ComboBox3.Value)

Set myAppoitem = Application.CreateItem(olAppointmentItem)

myAppoitem.Subject = "備忘②" & Mykenmei

myAppoitem.Body = MyBody

myAppoitem.Start = Mymonth3 & "/" & Myday3 & "/" & Myyear3 & " 10:00 AM"


myAppoitem.ReminderMinutesBeforeStart = 5
myAppoitem.ReminderSet = True

myAppoitem.Duration = 30

myAppoitem.Save



MsgBox "ほぞんかんりょう"

Unload UF001


End Sub

さて、そこでなんですが、Appointmentitem1を

赤色に、2を黄色に、3を青色に分類したいのですが、

これが、調べても調べてもできません。

すみませんが、教えて頂けませんでしょうか。

と、
質問をもらったので、挑戦してみます。

分類を探りたかったので、

Outlook 予定
https://msdn.microsoft.com/ja-jp/library/cc446751.aspx
のプロパティから

分類 カテゴリー?なんてプロパティがあるので、

AppointmentItem.Categories プロパティ (Outlook)
https://msdn.microsoft.com/ja-jp/vba/outlook-vba/articles/appointmentitem-categories-property-outlook

'Display the Show Categories dialog box

olApptItem.ShowCategoriesDialog

MsgBox olApptItem.Categories

を入れて、テストしてみます。

いつもの右往左往した酔っ払いテスト動画
【Outlook VBA】予定表 AppointmentItem 分類 Categories を探ったテスト動画【三流君】 - YouTube
www.youtube.com

"分類項目 赤"など選択した分類が表示されるので、
.Categories = "分類の文字列"
などで使えると思います。

おまけ
複数の分類は
.Categories = "分類項目 赤,分類項目 黄"
と、カンマで区切った文字列で複数選択もできるみたいです。

なので、
>Appointmentitem1を
>赤色に、2を黄色に、3を青色に分類したいのですが、

myAppoitem.Categories = "分類項目 赤"
myAppoitem.Categories = "分類項目 黄"
myAppoitem.Categories = "分類項目 青"
を入れればできるかなぁ。

"分類項目 赤"が私の環境で、違う文字列かもしれないので、
olApptItem.ShowCategoriesDialog

MsgBox olApptItem.Categories
などで、見てください。

解決の糸口となれば幸いです。 三流プログラマー Ken3

'分類を探ったテストプログラム
Option Explicit

Sub aaaa()

Dim yoteiNAME  '予定の名前

yoteiNAME = InputBox("予定の題名・件名は?") '入力させる


'Outlookの起動 アプリケーション を 作成する

    Dim oApp        'As Outlook.Application OutlookのApplication オブジェクトを入れる
    Dim myNameSpace 'As Outlook.NameSpace 名前のスペースと言われても、、
    Dim myFolder    'As Outlook.Folder フォルダー指定

    'outlook 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を
    Set oApp = CreateObject("Outlook.Application")

    '呪文1 名前空間 の 指定 と言っても、.GetNamespace("MAPI")しただけ
    Set myNameSpace = oApp.GetNamespace("MAPI")

'olFolderCalendar 9 予定フォルダ ※カレンダー
    '次は作業フォルダーの指定(.GetDefaultFolder) と 表示(.Display)
    Set myFolder = myNameSpace.GetDefaultFolder(9) '規定のフォルダー olFolderCalendar=9 指定
    myFolder.Display  '表示 いつものクセで .Visible = True とやりがちだけど

    '通常サイズ olNormalWindow=2 で表示(ほかに olMaximized=0,olMinimized=1)
    oApp.ActiveWindow.WindowState = 2   'olNormalWindow=2 を セット

'ここから予定の作成
'CreateItem(1) とolAppointmentItem=1 1を指定しただけ。

    Dim aITEM   'As Outlook.AppointmentItem '予定、アポ
    
    'CreateItemで予定の作成
    Set aITEM = oApp.CreateItem(1)   'olAppointmentItem=1 1予定・アポを指定
    
    aITEM.Display   '編集画面表示
    
    'データのセット
    aITEM.Subject = yoteiNAME & "の件"
    aITEM.Body = "予定の本文" & vbCrLf & "2行目" & vbCrLf & "xxxxx"
    aITEM.Start = Now()   'テストで現在の時刻をセット
    aITEM.End = DateAdd("h", 1, Now())  '1時間後を計算、終了にセット
 
    '動作
    'aITEM.Save   '.Saveで保存 .Close時に下記みたいに閉じると同時に保存も可能
    'aITEM.Close 0 '保存して閉じる olSave=0  olDiscard=1 olPromptForSave=2
 
'AppointmentItem.Categories プロパティ (Outlook)
'https://msdn.microsoft.com/ja-jp/vba/outlook-vba/articles/appointmentitem-categories-property-outlook

'Display the Show Categories dialog box

 aITEM.ShowCategoriesDialog

 Debug.Print aITEM.Categories

 'aITEM.Categories = "テスト赤,分類項目 黄"  '文字列でセット可能です

 'MsgBox aITEM.Categories

Stop

End Sub

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)