[[20150901113746]] 『エクセルのVBAでアウトルックを立ち上げ、ファイメx(TOPGUN) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルのVBAでアウトルックを立ち上げ、ファイルをアイコン形式で添付したい』(TOPGUN)

かなりネット検索をして、このサイトにたどり着きました。初心者から高度な質問まであり、ご教授いただければと思っています。

現在エクセル(2010)から中のデータを使ってメール送信をしたいと考えています。
メールを立ち上げる方法は理解しているのですが、
そこに、指定のエクセルファイルを「アイコン形式」で添付するのを自動化する方法がわからず困っています。

立ち上げるメールは、リッチテキストで作成しています。よってマニュアルでは、張り付けたいファイルをアイコン形式で張り付けることはできますが、自動化できません。

現在考えているのは、WordEditorを使用して作るやり方ですが、貼り付けの部分はなんとかわかるのですが、ファイルをコピーするところがわかりません。
たぶんクリップボードの操作が必要なのかもしれませんが、クリップボードにファイルをオブジェクトとして格納するところがわからず、困っています。
下記はWordEditorでのサンプル(ヤフー知恵袋でも質問中ですが、回答なし)ですが、どなたかご教授いただければ大変助かります。
よろしくお願いします。

(Microsoft Outlook 14.0 Object Libraryの参照設定をしています。)

Sub test_Create_Mail()

  Dim oAPP As New Outlook.Application
  Dim oItem As Object

  Set oItem = oAPP.CreateItem(olMailItem)

  With oItem
   .Subject = "TEST"
   .BodyFormat = olFormatRichText
   .Display
  End With

  With oAPP.ActiveInspector.WordEditor.Windows(1)
   With .Selection
    .TypeText "始めの行です。" & vbCrLf

  'XXXXXXここに他のエクセルシートをエンベッド(貼り付け)をしたい

   .TypeText "終わりの行です。" & vbCrLf

   End With
  End With

 End Sub 

それから、下記は、Wordでのアイコン貼り付けの方法だと考えています。この前の記述ができればよいのですが。。。

sub test

  Selection.PasteSpecial Link:=False, DataType:=12, _
                      Placement:=wdInLine,DisplayAsIcon:=False

end sub

すみません。よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 餅は餅屋なので、OutLook関連のHPを調べたらいいかもしれません。

https://outlooklab.wordpress.com/
https://outlooklab.wordpress.com/outlook-macroscript-index/

 ぱっと見ではそれらしい記述は見つかりませんでしたが・・・。
(カリーニン) 2015/09/01(火) 12:19

 メール本文中にファイルを挿入したことはないのですが、ネット検索してみたら
 HTML形式でないとファイルの挿入ができないようです。
 既にご存知でしたらスルーしてください。
(カリーニン) 2015/09/01(火) 13:34

カリーニンさん、ありがとうございます。
いただいたURLで試行錯誤を重ねたらできました!
一応、あまり汎用ではなくて、参考にもならないかもしれませんが、
下記のようなコードになりました。

    With oApp.ActiveInspector.WordEditor.Windows(1)

        .Selection.typetext "これは始めめです。" & vbCrLf
        oItem.Attachments.Add ATTACHFILE, olByValue’ファイルの貼り付けATTACHFILEはファイルの絶対番地
        .Selection.endkey unit:=6, Extend:=0’’貼り付け後の一番最後に行く(ワードのVBA)
        .Selection.typetext vbCrLf
        Sheet1.Range("A1:C1").Copy
        .Selection.Paste
        Application.CutCopyMode = False
        .Selection.movestart unit:=12
        .Selection.Attachments.Add ATTACHFILE, olByValue
        .Selection.typetext "これは終わりです。"

    End With

ありがとうございます。

(TOPGUN) 2015/09/03(木) 08:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.