[三流君] −−> [VBAで楽しく] −−> [VBA Outlook 操作]
−−> No.101 Outlookの重要度フラグ .Importance = olImportanceHigh

Outlookの重要度フラグ .Importance = olImportanceHigh

メルマガ発行内容

<Outlookの重要度フラグ .Importance = olImportanceHigh>

どうも、三流プログラマーのKen3です。 今回は、 Outlookで重要度のフラグを探ったお話です。 ※探し方がヘタでした(笑) たいした内容じゃないのですが。

/* * 1.今回のキッカケ */

http://www.ken3.org/cgi-bin/bbs/vba/wforum.cgi の掲示板に、 > Outlookのメール操作の中で、 > メールの送信は出来るのですが、 > その送信メールの「重要度フラグ」をプログラム(VB)で操作することは > 可能なのでしょうか?? ---- と書き込みをもらいました。 重要度のフラグ、少し興味あったので、探ってみました。

/* * 2.いつもの探り方(失敗したけど、参考になればと思い) */

Outlookを起動します。 起動後、Alt+F11を押します。 すると、VBAのいつものよく見かける画面が表示されます。 ここで、適当な変数を定義します。 Dim aa as MailItem と、メールのアイテム型の変数を定義します。 あとは、いつものように、aa.とピリオドを打つと、 プロパティやメソッドが表示されるので、 それらしいプロパティ・メソッドの名称を選択します。 おっ、と思ったのが、 の、 .FlagStatus フラグのステータス これでしょうと確認もしないで、決め付けて、メルマガ向け画面コピーも行う。 ※オイオイ気がハヤイって、、、 プロパティにカーソルを合わせ、F1のヘルプを見る。 あれれ・・・重要度のフラグじゃないみたいです。。。 ハズシタ(笑) 探り方、外したけど、こんな感じで、 該当するオブジェクト型の変数を定義 Dim aa as MailItem その後、 aa. と、候補を表示させ、それらしいのにアタック。 aa.FlagStatus と選択後、カーソルを合わせてからF1のヘルプを見る。 そんな流れでいつもプロパティ、メソッドを探ってます。

/* * 3.ネットを検索する */

いまだに、うまいキーワードで検索できないけど、 ネットで検索して、サンプルを拾ってきて、自分のものにする方法もあります。 MailITEM 重要度 の2つのキーワードで検索すると、下記のページがヒットする。 ^^^^^^^^^^^^^^^ http://www.microsoft.com/japan/msdn/library/ja/modcore/html/deovrworkingwithoutlookfoldersitems.asp >Restrict メソッドを使用する場合、角かっこで囲んだ Outlook フィールド名を使用 >して検索の抽出条件を指定します。And、Or、Not などの演算子を使用して複数の抽出 >条件を結合できます。たとえば、次のサンプルでは、過去 7 日間内に送信された、 >重要度の高い未読メール アイテムを検出します。 > >Dim fldMail As Outlook.MAPIFolder >Dim itmItems As Outlook.Items > >strCriteria = "[SentOn] > '" & (Date - 7) _ > & "' And [UnRead] = True And [Importance] = High" > >Set fldMail = gnspNameSpace.GetDefaultFolder(olFolderInbox) >Set itmItems = fldMail.Items.Restrict(strCriteria) このサンプルって、 今あるメッセージの検索ぽいので却下(笑)、たぶん受信済み未読を検索すると思う でも、ここから、 [Importance] = High" が怪しいとにらみ、これだろとまた勝手に思い込む(笑) Importance プロパティをヘルプで探る。 ~~~~~~~~~~~~~~~~~~~~~ >Outlook アイテムの相対的な重要度を表す OlImportance クラスの定数を >設定します。このプロパティは、MAPI プロパティの >PR_IMPORTANCE に対応しています。値の取得および設定が可能です。 > >使用できる定数は、次に示す OlImportance クラスの定数のいずれかです。 >olImportanceHigh >olImportanceLow >olImportanceNormal > >expression.Importance > >expression 必ず指定します。対象となるオブジェクトへの参照を表すオブ >ジェクト式を指定します。 と、やっと目的のプロパティにたどり着いたみたいです。
Sub aaa()

    Dim myOlApp As Outlook.Application
    Dim myitem As MailItem
    
    Set myOlApp = CreateObject("Outlook.Application")
    Set myitem = myOlApp.CreateItem(olMailItem)

    myitem.To = "test@ken3.org"
    myitem.Body = "test"
    myitem.Importance = olImportanceHigh

    myitem.Display

End Sub
.Importance = olImportanceHigh が、重要度 高みたいです。 試してみてください。

/* * 4.ExcelからいつものCreateObjectだと定数が参照できない */

参照設定が正しくされていると、 みたいに、定数の候補が出て、コーディングもしやすいです。 Outlook2000,Outlook2002と環境を行ったりきたりするので、 参照設定をしてない場合は、 olImportanceHigh など、定数が使えません(エラーが発生します) まぁ、そんな時は、OutlookのVBA編集画面で、 ? olImportanceHigh 2 ? olImportanceLow 0 ? olImportanceNormal 1 なんてやって、定数を求めて、 objMAIL.Importance = 2 'olImportanceHigh=2 みたいに直値で書くか、 Const olImportanceHigh = 2 '重要度=高 と、自分でConst定義するか・・・ Excel VBAで、参照設定無しで重要度(高)のメールを作成するサンプル。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'メールアイテム作成後、重要度を高olImportanceHigh=2にする objMAIL.Importance = 2 'olImportanceHigh=2 と、メールアイテムのオブジェクトに対して重要度を2(高)に設定してます。
Sub test送信メール作成()

    Dim oApp As Object    'アプリケーションオブジェクト
    Dim objMAIL As Object 'メールのオブジェクト
    Dim strMOJI As String '本文

    'アプリケーションオブジェクトの作成
    Set oApp = CreateObject("Outlook.Application")

    Set objMAIL = oApp.CreateItem(0) 'olMailItem=0
    'メールアイテム作成後、重要度を高olImportanceHigh=2にする
    objMAIL.Importance = 2   'olImportanceHigh=2

    strMOJI = "こんにちは" & vbCrLf _
            & "プログラマーの愚痴、教えまっせ?" & vbCrLf _
            & "http://www.ken3.org/ よろしく(笑)"
    
    objMAIL.To = "test@ken3.org"           '宛先
    objMAIL.Subject = "未承諾広告※(笑)"  '件名
    objMAIL.Body = strMOJI                 '本文の代入
    objMAIL.Display   '途中で編集したい時(メール表示してみた)

    'おまけでOutlook表示
    Dim myNameSpace As Object
    Dim myFolder As Object

    Set myNameSpace = oApp.GetNameSpace("MAPI")
    Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダーを指定

    myFolder.Display  '表示

End Sub
できたら、直値で作成するよりも、 参照設定をして、キチント作った方がいいです。 あと、社内のOfficeのバージョンもそろっていたほうが、なにかと楽かなぁ。 まぁ、世の中、混在環境や様々なマシーン構成があるので、 メルマガサンプルで私が参照設定を避けたがるみたいに、 いつもAs Objectでやるのも手だけど、あまりお薦めは出来ません。 Set objMAIL = oApp.CreateItem(0) objMAIL.Importance = 2 とか、書かれても、あとで見ると?マークになってしまう。 Set objMAIL = oApp.CreateItem(0) 'olMailItem=0 'メールアイテム作成後、重要度を高olImportanceHigh=2にする objMAIL.Importance = 2 'olImportanceHigh=2 と私はコメントでかわしているが、、、、 ---- ここから 下、宣伝です ---- ※今の会社の教育体制に疑問を感じた、ボーナス少なかった・・なんて人は、  匿名で自分の価値を下記で探ってみては?  まぁ、辞めても地獄、残っても飼い殺しかもしれないけど・・・ -【けんぞう!】--------------------------------------------------------- 転職関係、在宅プログラマー、SOHOの広告まとめました、匿名で職探せます。 http://www.ken3.org/etc/500yen/zaitaku.html いろいろとあるので転機の人はぜひ 『だだ、広告料稼ぎたいだけだろ、紹介料300円〜1000円の小金稼ぎ』 ギクっ、、、バレた(笑)登録料無料、匿名で探せるので在宅で小金稼ぎの人も見てね ------------------------------------------------------------------------  ※ボーナス後なのか、登録件数月末から4件もあった・・・  残るのも選択肢の一つと考えつつ、探してみてください。  出て行ってもいいことあるかもしれないし、無いかもしれないよ・・・

/* * 5.終わりの挨拶 */

今回は、 Outlookのメール重要度を探った話でした。 独り言は置いといて/独り言も含め、何かの参考となれば幸いです。 ~~~~~~~~~~~~~~~~~~ Excel/Access大好き、三流プログラマーKen3でした。


ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、

種類別のリンク や 広告など

気になったジャンル↓を選択してください。

人気記事(来場者が多いTOP3):
[VBAでIE,WebBrowserを操作]・・・VBAでIE,WebBrowserを操作する サンプルです
[Access から Excel 連携 CreateObject("Excel.Application")]・・・AccessからExcelを操作したりデータの書き出しなどです
[VBAでOutlookの操作 CreateObject("Outlook.Application" )]・・・VBAからOutlookを使い、メール関係を処理するサンプルです
↑上記3つみたいなCreateObjectで他のアプリケーションを操作するサンプルが人気です。

Excel関係:
[Excel UserFormを操作する]・・・エクセルでユーザーフォームを作成して入力などを行ってます
[ExcelからAccessを操作する]・・・ExcelからAccessのマクロを起動してみました、
[Excel関係 関数、その他]・・・その他Excel関係です

Access関係:
[Access UserForm/サブフォーム 操作]・・・アクセスでフォームを使ったサンプルです
[Access レポート操作]・・・レポートを操作してみました
[Access クエリーやその他関数]・・・あまりまとまってませんが、スポット的な単体関数の解説です

その他:VBAの共通関数やテキストファイルの操作など
[VBAでテキストファイル(TextFile)の操作]・・・普通のテキストファイルを使ったサンプルです
[VBA 標準関数関係とその他解説]・・・その他、グダグタ解説してます

開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う]

仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力]

※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。
※※読んで、気分を悪くされたらスミマセン。

Blogとリンク:[三流君の作業日記]/ [VBAやASPのサンプルコード]/ 広告-[通販人気商品の足跡]



[三流君(TOP ken3.org へ戻る)] / [VBA系TOPへ] / [VBA系バックナンバー目次へ移動]