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


ken3memo : Outlook関係の→ [メモ・記事をチェック] / [アウトルックの動画解説へ]
全ての質問には、答えられませんが、リクエストや質問があったら、[作者(三流君)に質問する] から 気軽に送ってください [三流君(TOP)] / [VBA(TOP)] / [Outlook操作(TOP)]



三流君 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へ戻る]

ページフッター

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



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

感想や質問・要望・苦情など 三流君へメッセージを送る。
とても急ぎで連絡がほしい、そんな時は: [YouTubeの動画にコメントする]※通知が届くので気が付きやすいです
[twitterでDMを送る]かなぁ。※最近DMの通知が表示されなかったり、20件制限などがあるし・・
気軽に連絡してください。何か連絡手段を考えないとなぁ・・・

Outlook VBA 情報を Googleで検索する

Google
探す言葉:
ググる。↑添付,予定,本文などの単語や,オブジェクト(MailItem),プロパティ(.Body)やメソッド(.Move)などを入れて検索してみてください。

サイト指定:人気QAサイト や 一次情報MS本家を指定する
条件無し WWW 全体から検索↓指定で見つからなければ 一次情報・二次情報まとめから探る
一次情報は基本のMSDN含む microsoft.comから
まとめ一次・二次情報 Qiita 知識を記録・共有 qiita.comで個人まとめを参考に
手前味噌の三次情報 三流君メモBlog ken3memo.hatenablogから検索
QAサイトの質問から探る
QAはやっぱり人の多いYahoo知恵袋 chiebukuro.yahoo.co.jpから探る
こちらもどうぞ おしえてgoo! oshiete.goo.ne.jp
15分探して見つからなかったら?回答率90%以上 teratail.com
私も利用中 最近過疎ってる失礼 人力検索 q.hatena.ne.jp
意外と穴場? 2ch 5ch.netから探す
検索実行: ←オプション確認後に検索ボタンを押してください

期間指定:情報の鮮度も大切?
指定なし(全て)※不変の情報を得るには指定無しが一番?
3日以内 最新の更新情報を探す時など。
3ヶ月 これはあまり使わないかも
1年以内の更新なら情報鮮度もOK?バランス型
3年も経てばOfficeもバージョンUP?
検索実行: ←オプション確認後に検索ボタンを押してください

Outlook アイテム別の操作

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

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

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




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