[三流君(TOP)]
[VBA(TOP)]
[Outlook操作(TOP)]


私は OutlookVBAで
[メールの作成と読み込みを行いたい]
[予定・スケジュールを管理したい]
[仕事・タスクを登録したい]
[アドレス帳や連絡先を管理したい]
[Outlookのプロパティやメソッドを探りたい]
です。※↑目的の処理を選択してください。


三流君 Outlook Contact 連絡先・アドレス帳を操作する

まぁ、そんなに難しく考えないで、ソースを貼り付けて、遊んでみてください。
VBS や Excel など から Set oApp = CreateObject("Outlook.Application") で オブジェクトを作り、コントロールしてます。
#ContactItem

As ContactItem

ContactItem オブジェクト
連絡先アイテム プロパティ
↑MSDNを参考にして、プロパティやメソッドを探ったり、
[連絡先の作成へ]

#CreateItem

連絡先・アドレス帳の作成

連絡先・アドレスのアイテムを作成したいと思います。
と言っても、単純に、
CreateObject("Outlook.Application") で アウトルック起動
.GetDefaultFolder(10) '規定のフォルダー olFolderContacts=10 指定
.CreateItem(2) 'olContactItem=2 2連絡先を指定
して、作成後、
プロパティに値をセット、
動作 .Close メソッドで保存して閉じただけです。



'VBSからOutlook 連絡先に1つアイテムを作成する
'入力された名前とアドレスで連絡先のアイテムを1つ作成する

'テストデータをInputBoxで手入力
Dim strNAME  '名前の姓
Dim strYOMI  'フリガナ
Dim strEMAIL 'メールアドレス

strNAME = InputBox("お名前 姓は")          '入力させる
strYOMI = InputBox("読み方、フリガナは?") '入力させる
strEMAIL = InputBox("メールアドレスは?", "test@test.test") '入力させる

'Outlook.Applicationの起動 

    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")

'olFolderContacts 10 連絡先フォルダ
    '次は作業フォルダーの指定(.GetDefaultFolder) と 表示(.Display)
    Set myFolder = myNameSpace.GetDefaultFolder(10) '規定のフォルダー olFolderContacts=10 指定
    myFolder.Display  '表示 いつものクセで .Visible = True とやりがちだけど

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

'ここから連絡先の作成
'As Outlook.ContactItem 連絡先のアイテム を 作成する
'CreateItem(2) とolContactItem=2 2を指定しただけ。

    Dim cITEM   'As Outlook.ContactItem  '連絡先アイテム
    
    'CreateItemで連絡先の作成
    Set cITEM = oApp.CreateItem(2)   'olContactItem=2 2連絡先を指定
    
    cITEM.Display   '編集画面表示
    
    'データのセット
    cITEM.Email1Address = strEMAIL   'メールアドレス1
    cITEM.YomiCompanyName = "カブシキガイシャ アイウエオ"
    cITEM.CompanyName = "株式会社アイウエオ"
     
    cITEM.YomiLastName = strYOMI  'フリガナをセット
    cITEM.LastName = strNAME      '姓をセット
    'cITEM.YomiFirstName          '名前のフリガナ
    'cITEM.FirstName              '名
         '↑他にも 値、プロパティがあるけど、テストで表示
    '動作

    'cITEM.Save   '.Saveで保存 .Close時に下記みたいに閉じると同時に保存も可能
    cITEM.Close 0 '保存して閉じる olSave=0  olDiscard=1 olPromptForSave=2 

↑を実行すると、連絡先・アドレスのアイテムが作成されるので、テストしてみてください。
操作・試行錯誤の動画:[テスト動画]Outlook CreateItem(2) olContactItem=2 連絡先のアイテムを作成

連絡先の更新と検索

フォルダーからアイテムを検索するには、
モロ DB処理に似ていて(フィルター処理に似ているかなぁ)
Set oITEM = oFolder.Items.Find("[項目] = '値'")
で探すことができそうです。

検索されたか?データ取得の確認は、
If Not oITEM Is Nothing Then 'オブジェクトの中身が入ってれば
でチェックすることができます。

複数ヒットする可能性がある時は、Items.FindNext あたりが使えそうです。

操作・試行錯誤の動画:Outlook VBA 連絡先 更新方法 と アドレスでITEMを検索する方法



コードは↓
[XXXXXさんへ Outlook VBA 連絡先 更新方法 と アドレスでITEMを検索する方法]
↑を見てください。

サンプルコードのリンク

連絡先のサンプル:
[Outlook VBA で 連絡先 配布リスト.msg を取り込む やりかけ その2]
[Outlook VBA 選択された連絡先の氏名+フリガナを使い、仕事を作成]

仕事・タスクアイテム と 予定表・連絡先などを連携?

[予定表と仕事、連絡先を使ったサンプル]
では、
Application.ActiveInspector.CurrentItem
を使い、開いているアイテムを取得してみたり、

また、
複数選択された連絡先(ContactItem)を取得したかった時は
Application.ActiveExplorer.Selection を 使い、
[Outlook VBA 選択された連絡先の氏名+フリガナを使い、仕事を作成]
したりしました。
意外と、Outlookは奥が深いですね。


[#QA_MESSAGE][ページ内のTOPへ戻る]

ページフッター

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

Outlook アイテム別の操作

  1. [Mail]でメールを作成したり読み込んだり
  2. [Task]で仕事・タスクを登録したり
  3. [Appointment]予定表 アポ・スケジュールの登録ほか
  4. [Contact]連絡先でアドレスや名簿管理

三流君の[Outlookヘルプの探り方]でオブジェクト、プロパティやメソッドの探り方を少し書いてみたり、

ken3memo : Outlook関係の→ [メモ・記事をチェック] / [ブックマークを見る] / [アウトルックの動画解説へ]
で、まとめてみたり※↑まとまってないじゃん、放り込んだだけでしょ・・・



三流君へ メッセージを送る

感想や質問・要望・苦情など 三流君へメッセージを送る。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)

急ぎで連絡がほしい、そんな時は:[twitter三流君]に気軽に連絡してください。




Menu : [Outlook操作(TOP)] / [VBA(TOP)] / [三流君(TOP)]





広告

リンク広告
  1. --[恋声 ボイスチェンジ フリーソフト]
  2. --[【ガチャ】モンスト 3500万人記念!!オーブ0ガチャ]
  3. --[Access コンボボックスを使ってみた]
  4. --[ Windows7 OSのフルバックアップ システムイメージバックアップ]