Outlook 連絡先から仕事を登録、予定表を作る? RSSフィード
 


挨拶・自己紹介:失敗続きのAB型の変わり者 三流プログラマー Ken3です。
(※[三流君 三流プログラマーとは?自己紹介や経歴ほか])

Ken3のひとりグループです
・[ken3独りグループのトップページ]へ戻る
・独り言の[掲示板を覗く]
・勝手に作成した[キーワード一覧]を見る
・いつまでも[ken3memo下書き日記]を見る
(一人寂しくグループウェアを使っていたり....(笑))


11ken3memoken3memo   10  5.1 Outlook VBA 選択された連絡先の氏名+フリガナを使い、仕事を作成

Outlook VBAで、選択された氏名+フリガナを使用して、

仕事(タスク)を作成してみました。

選択されたアイテムを知るには、

ActiveExplorer.Selection

を使い、

解説とテスト

Outlook VBA ActiveExplorer.Selection 選択されているアイテムを知りたい - ken3memo (三流君)

仕事の作成は、

Outlook VBA 仕事・タスク As TaskITEM を 探る - ken3memo (三流君)

で、

TaskItemを探って、

Application.CreateItem(olTaskItem) '新規に仕事のITEMを作成

で、新規にアイテムを作り、

作成したVBA Subを

Outlook処理 途中で作成ミスに気がついたが... - ken3memo (三流君)

みたいな感じで、コマンドバーに登録しました。

テスト

要求仕様を満たしているか、テストしてみます。

手作業で実行しながら、確認してみます。

要求仕様

>予定表ビューの右端にTODOバーというのがありまして、

>ここに仕事をリスト形式に並べて表示させておくことができます。

.

>連絡先ビューの画面右端にTODOバーが表示されていましたが、

>同じものが予定表ビューでも表示できます。

>Ken3さんの画面ではたたまれていたようです。

.

.

>このリストは詳細登録画面を界さずに

>そのまま画面中央の予定表の任意の位置にドラッグ&ドロップすることが出来、

>時間の長さを自由に変えたり、分類を使って作業内容を色分けで表示することもできます。

.

>リストには通常仕事の件名が表示されますが、

>ここにID、氏名、フリガナを表示させられれば画面を切り替えたり、

>文字を入力したりすることなくすばやく目的の顧客を選んで予約を記録できるなと考えています。

.

>連絡先から仕事リストを作る事、

>他の管理ソフトの情報と同期させる事

>が自動で出来ないととても実戦には使えないと思っております。

テスト内容

連絡先から

顧客を選択後、ボタンを押すと、

選択した顧客名・フリガナ・IDで仕事リストが作成される。

予定表に切り替え、TO DOから仕事リストを予定表に登録

※ここは、Outlookの機能、操作だけです

この流れをテストする。

テスト動画

2012/02/14 三流君 Outlook VBA テスト動画 その3 - YouTube

作成した ソースコード

下記、作成したソースコードです。

※まだ、バグもありそうですが、改良して使ってみてください。

'---------------------------------
'選択された連絡先の氏名+フリガナを使い、仕事を作成
Sub 連絡先の氏名フリガナで仕事を作る()

    Dim cITEM As ContactItem      '連絡先
    Dim tITEM As TaskITEM         'タスク、仕事

    Dim nSelectCNT As Integer     '選択されている数、ctrl+クリックで複数選択可能なので
    Dim n As Integer  'ループのカウンター

    Dim strNAME  As String  '姓名+フリガナ※仕事の件名
    
    '選択が0件なら抜ける
    'ActiveExplorer.Selection解説 http://d.hatena.ne.jp/ken3memo/20120214/1329170762 
    If Application.ActiveExplorer.Selection.Count = 0 Then
        MsgBox "連絡先が選択されていません"
        Exit Sub    '関数を抜ける
    End If
    
    '選択されているのが連絡先か?チェックする
    If TypeName(Application.ActiveExplorer.Selection.Item(1)) <> "ContactItem" Then  '連絡先以

外か?
        MsgBox "連絡先を選択してください"
        Exit Sub    '関数を抜ける
    End If
    
    'ここから、選択された件数分 仕事を作成する
    nSelectCNT = Application.ActiveExplorer.Selection.Count '選択された件数
    
    For n = 1 To nSelectCNT  '配列が1からなので注意?
    
        '選択されたn番目の連絡先を変数に入れる
        Set cITEM = Application.ActiveExplorer.Selection.Item(n)
    
        '新しい仕事のアイテムを作成する
        Set tITEM = Application.CreateItem(olTaskItem) '新規に仕事のITEMを作成
        'oITEM.Display  '画面に表示するときは.Display チラつくのでコメントにした
    
        '連絡先の氏名+フリガナを抜き出し、&でつなげる
        strNAME = cITEM.LastName & cITEM.FirstName
        strNAME = strNAME & " " & cITEM.YomiLastName & cITEM.YomiFirstName
        
        'データを仕事にセットする
        tITEM.Subject = strNAME   '件名として、上↑で作成した名前+フリガナをセットする
        tITEM.StartDate = Date    'スタート日は今日をセット
        '↑他にもプロパティがたくさんあるけど・・
    
        'タスクを登録
        tITEM.Close olSave  'olSaveで閉じるときに保存(セーブして終了)
    
        Set tITEM = Nothing 'オブジェクト変数解放
    
    Next n
    Set cITEM = Nothing  'オブジェクト変数解放
    
    MsgBox "仕事の新規登録が終了しました" & vbCrLf & "予定を組んでください"
        
End Sub

終わりの挨拶

あとは、連絡先の項目に 顧客IDをねじ込んで(新規にフィールド作成?)すれば、

なんとか形にはなるのかなぁ。

先が見えたような、見えないような・・・

返信2012/02/17 15:06:58









三流君 www.ken3.org(手打ちのHTMLで情報発信、最近は更新してなかったり...) 分類:HPを大きく分けると4つの柱(分類)です。
・人気は[VBA,マクロ]の解説、VBAからIE操作が人気です
・一昔前の[ASP(Active Server Pages)]の解説。
・読み物として[プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
・おまけで[元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の異業種へ転職、コンビニ店長で失敗。

動画・YouTube(動画で解説に手を出してみたが、評判はイマイチ...内容に問題アリ?)
・YouTube [ken3video] え~と、こんな感じ...の独り言が多い解説やテストの動画です。

流行のBlogで情報発信(手打ちのHTMLよりブログで更新が楽なので)
・はてなを使用して[id:ken3memo]メモ的に放り込んでいるブログです
・[その他商品紹介Blog] ・・・ 内容の薄い、商品のメモ?です



トップ ユーザー登録 ログイン ヘルプ