三流君 ken3のmemo置き場

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

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

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

失敗サンプル Outlook VBA .msg ファイル を .OpenSharedItem で 取り込み

拡張子が .msg の Outlookアイテムファイル

.OpenSharedItem("ファイル名")で取り込みました。

読み込み後、フォルダーの指定でエラーが発生してしまう。。。
そんな失敗サンプルです。

※苦肉の策・強引に On Error Resume Next ですすめてますが・・・

テスト結果

下記、テスト結果の動画です Outlook VBA OpenSharedItemで取り込みテスト
www.youtube.com

使用したコード

Outlook2007起動後、VBAで下記のコードでテストしました。

'.msgを読み込むテスト Outlook2007でテスト
Sub read_msg()
    
    Dim oNamespace As NameSpace
    Dim oItem As Object   'アイテム .msgから読み込みセット
    Dim oFolder As Folder 'フォルダー
    
    ' NameSpace オブジェクトへの参照を取得します。
    Set oNamespace = Application.GetNamespace("MAPI")
    
    ' 既定のフォルダ 参照を取得し、フォルダを表示します。
    Set oFolder = oNamespace.GetDefaultFolder(6) 'olFolderInbox=6
    oFolder.Display
    
    ' .msg ファイルを開きます。.OpenSharedItemで取り込み
    Set oItem = oNamespace.OpenSharedItem("F:\TEMP\AAAAA.msg")
    'テストで↑USBメモリなどから固定の名前を読み込む
   
    'oItem.Display  '読み込んだアイテムを表示(いらない)
    On Error Resume Next 'エラーを無視して次の行へ
    '下記のMOVEで同じフォルダーだとエラーが発生?するので、苦肉の策
    oItem.Move oFolder   '読み込んだ アイテムを指定したフォルダーへ
    'On Error GoTo 0      'エラー無視を解除(エラーをここから下は表示)
    
    '使用したオブジェクトの解放 = Nothing
    Set oItem = Nothing
    Set oFolder = Nothing
    Set oNamespace = Nothing

End Sub

終わりの挨拶

まだまだ、探りかたとサンプルが甘いけど、

三流君VBAでOutlookを操作する

で、細々解説しているので、良かったらのぞきにきてください。

Ken3 ホームページ 目次

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

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



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