<Outlookでファイルを添付するには?.Attachments.Add>
こんにちは、三流プログラマーKen3です。 今回は、 VBAでOutlookにファイルを添付するには? です。/* * 1.今回のキッカケ */
seltaeb@倉敷さん から >はじめまして >検索で「Outlookを操作してメールを送りたい」にたどり着き早速メルマガ登録し >ました > >現在1つのBOOKを業者別に複数のBOOKに分割するところまで作成しております >次のステップとして業者別のBOOKをMailに添付して自動で送ろうと考えています >メルマガを参考とさせていただき作成したいと思います > >あと、ファイル添付の方法が分からないのでご教示ください > >よろしくお願いします ---- ご教示かぁ、、、三流作者にはそんなこと言わなくていいのにね。 なんて書いてないで、調べますか。/* * 2.ヘルプの探し方 */
ヘルプで添付をキーワードに調べると。 .Attachments.Add ってのが見つかる。(ネットでoutlook 添付で探すと一発だけど) 嘘つくなよテメエ、ExcelVBAのヘルプにそんなの無いぞ。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 素人だと思ってバカにしやがって、いつもヘルプ見ろヘルプ見ろってうるせえ。 Excelのヘルプで添付が出てこないから聞いてんだろ。 まぁまぁ、そんなに興奮しないでよ、どこかの危険な掲示板じゃないんだから。 えっと、これ、Outlookを起動してから、Alt+F11押すと、 OutlookのVBA編集画面が出るんですよ。 ここで、F1(ヘルプ)押して添付とキーワード入力をすると、 Attachmentsオブジェクトを見つけることが出来ます。 ※outlook2000,20002からで、97は出ません(残念、、、) ↑ヘルプの検索イメージ さてと、 Attachmentsオブジェクトのヘルプを見ると、 --- アイテムに添付ファイルを追加するには、Add メソッドを使用します。 一貫した結果を得るには、アイテムの Attachments コレクションのオブジェクトを 追加したり削除したりする前に、アイテムを必ず保存します。 次の VBA の例は、新しいメッセージを作成し、Q496.xls ファイルをリンクではなく 添付ファイルとして添付し、その添付ファイルにわかりやすいキャプションを付けます。 Set myOlApp = CreateObject("Outlook.Application") Set myItem = myOlApp.CreateItem(olMailItem) myItem.Save Set myAttachments = myItem.Attachments myAttachments.Add "C:\My Documents\Q496.xls", _ olByValue, 1, "1996 年の第 3 四半期報告" --- なんて載ってます。/* * 3. 単体テスト */
ヘルプでオブジェクトがわかったので、 .Attachments.Add "ファイル名"でいいのかな。 単体のテストプログラムで確認してみる。
Sub testSEND送信() Dim oApp As Object 'アプリケーションオブジェクト Dim objMAIL As Object 'メールのオブジェクト Dim strMOJI As String '本文 'アプリケーションオブジェクトの作成 Set oApp = CreateObject("Outlook.Application") Set objMAIL = oApp.CreateItem(0) 'olMailItem=0 strMOJI = "こんにちは" & vbCrLf _ & "プログラマーの愚痴、教えまっせ?" & vbCrLf _ & "三流君です。 www.ken3.org よろしく(笑)" objMAIL.To = "test@ken3.org" '宛先 objMAIL.Subject = "未承諾広告※(笑)" '件名 objMAIL.Body = strMOJI '本文の代入 objMAIL.Attachments.Add "e:\work\test.txt" objMAIL.Send '直接送信箱行き End Sub |
Sub testSEND送信() Dim oApp As Object 'アプリケーションオブジェクト Dim objMAIL As Object 'メールのオブジェクト Dim strMOJI As String '本文 'アプリケーションオブジェクトの作成 Set oApp = CreateObject("Outlook.Application") Set objMAIL = oApp.CreateItem(0) 'olMailItem=0 strMOJI = "こんにちは" & vbCrLf _ & "プログラマーの愚痴、教えまっせ?" & vbCrLf _ & "三流君です。 www.ken3.org よろしく(笑)" objMAIL.To = "test@ken3.org" '宛先 objMAIL.Subject = "未承諾広告※(笑)" '件名 objMAIL.Body = strMOJI '本文の代入 objMAIL.Attachments.Add "e:\work\test.txt" objMAIL.Display '編集メッセージの表示 .Sendから変更 'おまけでOutlook表示 Dim myNameSpace As Object Dim myFolder As Object Set myNameSpace = oApp.GetNameSpace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダーを指定 myFolder.Display '表示 End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]