三流君 ken3のmemo置き場

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

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

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

Outlook処理 途中で作成ミスに気がついたが...

4.処理をつなげて 呼んでみた And 作成ミスに気がついた...

4.1 3つの処理が連続で走るようにつなげてみた。

作業の動画
三流君 2012/02/11 outlook処理のテスト結果 その1 - YouTube
www.youtube.com

↑これは、あまり意味ない動画ですね
↓のソースを見たほうが速いかなぁ?

ソース

'連絡先を予定表にドラックAndドロップ後に
'Application.ActiveInspector.CurrentItemで開いている会議予定
'から 開始 終了 名前を抜き出し、名前を件名として 仕事タスク と 予定表を作成する
' 解説は http://d.hatena.ne.jp/ken3memo/20120211/1328906604
Sub 会議予定を仕事と予定に変換()

    Dim oITEM As AppointmentItem
    
    '連絡先からドロップ後、予定表が開いているはずなので、
    Set oITEM = Application.ActiveInspector.CurrentItem
    '↑で、会議の予定 As AppointmentItem を取得

    '開始時間・終了、出席者の名前を取得する
    Dim dSTART As Date     '開始
    Dim dEND As Date       '終了
    Dim strNAME As String  '名前
    
    '表示中の会議 予定表アイテムからデータを取得する
    dSTART = oITEM.Start
    dEND = oITEM.End
    strNAME = oITEM.Links.Item(1).Name
    
    '予定表を閉じる
    oITEM.Close olDiscard  '保存しないで閉じる・いったん破棄する

    'タスク 仕事にセット
    Call test0211_仕事の作成(dSTART, dEND, strNAME)  '値を渡して、To Do 仕事を作成

    '予定を作成
    Call test0211_予定の作成(dSTART, dEND, strNAME)  '値を渡して、カレンダー予定を作成

End Sub

'開始、終了、名前を受け取り、名前を件名とした仕事・タスクを作成する
' 解説は http://d.hatena.ne.jp/ken3memo/20120211/1328906778 を見てください。
Sub test0211_仕事の作成(dSTART As Date, dEND As Date, strNAME As String)  '新規に仕事 タスクを作る

    Dim oITEM As TaskITEM '型をAs TaskITEM にする
    
    Set oITEM = Application.CreateItem(olTaskItem) '新規に仕事のITEMを作成
    oITEM.Display  '画面に表示するときは.Display

    'データをセットする
    oITEM.Subject = strNAME  '件名として、名前をセットする
    oITEM.Body = "本文" & vbCrLf & vbCrLf & "仕事"
    oITEM.StartDate = dSTART  'スタート
    oITEM.DueDate = dEND      '終了日
    '↑他にもプロパティがたくさんあるけど・・

    'タスクを登録
    oITEM.Close olSave  'olSaveで閉じるときに保存(セーブして終了)

End Sub

'開始、終了、名前を受け取り、名前を件名とした予定表 予定を作成する
' 解説は http://d.hatena.ne.jp/ken3memo/20120211/1328907107 を見てください。
Sub test0211_予定の作成(dSTART As Date, dEND As Date, strNAME As String)  '新規に予定 を作る

    Dim oITEM As AppointmentItem  '予定表
    
    Set oITEM = Application.CreateItem(olAppointmentItem) '新規に予定のITEMを作成
    oITEM.Display  '画面に表示するときは.Display

    'データをセットする
    oITEM.Subject = strNAME  '件名
    oITEM.Body = "本文" & vbCrLf & vbCrLf & "予定"
    oITEM.Start = dSTART  'スタート
    oITEM.End = dEND    '終了日 テストで27時間後
    '↑他にもプロパティがたくさんあるけど・・
    
    '予定を登録
    oITEM.Close olSave  'olSaveで閉じるときに保存(セーブして終了)

End Sub

4.2 OutlookメニューにVBAの実行を追加する

コマンドバーに追加?

操作動画
Outlook 2007 コマンドバーにVBAの実行を追加 手作業 - YouTube
www.youtube.com

4.3 流れを確認する(連絡先を仕事・予定にセット)

  
・予約の連絡を受ける
  ↓
・連絡先から名前を選択、予定表にドラッグandドロップする
  ↓
・会議連絡のフォームでマクロ実行のボタンを押す

テスト結果
三流君 2012/02/11 outlook処理のテスト結果 その2 - YouTube
www.youtube.com

4.4 処理の間違いに気がつく

ア.足りない処理、顧客IDとふりがな を 追加する処理。※現在名前しかセットしていない
(連絡先を名前でサーチして、顧客IDとふりがなを取得しないといけない)

イ.根本的に処理が間違っていた?
本当の処理の流れ、質問は、、、

間違い、他の操作動画を載せる

↓いろいろな操作方法があるので、Outlookって奥が深いですね。
Outlook 2007 ドラックAndドロップ 操作イロイロ - YouTube
www.youtube.com

※ドラック アンド ドロップのタイミングがVBAで取れるか?探って出直しですね・・・

終わりの挨拶

いやぁ〜、、、脳内自分語垂れ流しで
ハマってしまって
かなり恥ずかしいなぁ(笑)

少し深く調べてから 出直しですね(笑)

処理を少し軌道修正した続きは
Outlook VBA 選択された連絡先の氏名+フリガナを使い、仕事を作成 - 三流君 ken3のmemo置き場
を見て笑ってください。

Ken3 ホームページ 目次

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

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



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