[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『メールに添付ファイルをつけて送信したいです。』(VB初心者)
VB知識が乏しく恐縮ですが、以下教えてください。
VBでメール送信をよく使います。
添付がないときは問題ないのですが、今回添付ファイルを保存したく
以下Attachmentsを追加いたしました。
しかし、うまくいきません。
パスは絶対パスの記載でないとだめでしょか。
例;MI.Attachments.Add "C:\実績.xlsm"
'Outlookオブジェクト生成 Dim OL As Outlook.Application Dim MI As Outlook.MailItem Set OL = CreateObject("Outlook.Application") Set MI = OL.CreateItem(olMailItem)
'メール各設定 MI.To = Range("C5") MI.CC = Range("C6") MI.Subject = Range("C7") MI.Attachments.Add =range("C12") MI.Body = Range("C8")
MI.Display MI.Send
'オブジェクト解放 Set OL = Nothing Set MI = Nothing
< 使用 Excel:Excel2010、使用 OS:Windows7 >
=
はどこから出てきたのでしょう?
参考HPです。
http://www.ken3.org/vba/backno/vba078.html
(OK) 2019/08/30(金) 21:06
>range("C12")
C12セルに添付したいファイルのパスが入ってるのでしょうか?
(OK) 2019/08/30(金) 21:08
(もこな2) 2019/08/31(土) 06:07
C12には、フルパスが入っております。
VBに直接絶対パスか日付が可変するパス程度でしたら直接記載するのですが、
パスの中が可変(変数)が多く含まれているため、セルとしたい次第です。
教えていただいた参考HPも絶対パスとなっているのですが、
セル値で対応できるようにするにはどうすればよいでしょうか。
宜しくお願い致します。
(VB初心者) 2019/09/02(月) 08:34
OKさんのレス
(OK) 2019/08/30(金) 21:06
は修正したのでしょうか?
MI.Attachments.Add =range("C12")
この構文が間違っていると指摘しているんですよ
それが修正されているのなら
MI.Attachments.Addの前に
Msgbox Dir(Range("C12").Value)
として、プロシージャを実行して、何が表示されるか教えてください
(渡辺ひかる) 2019/09/02(月) 10:00
>教えていただいた参考HPも絶対パスとなっている
私が提示したリンクの方はみてもらえませんでしたかね。
>C12には、フルパスが入っております。
それが実在するファイルならokさんのおっしゃるとおり「=」が原因ではないでしょうか?
Sub ななしのまくろ() With CreateObject("Outlook.Application").CreateItem(0) .To = Range("C5").Value .CC = Range("C6").Value .Subject = Range("C7").Value '.Attachments.Add = Range("C12").Value ←「=」を付けているから実行時エラー440が発生 .Attachments.Add Range("C12").Value .Body = Range("C8").Value .Display '.Send End With End Sub
(もこな2) 2019/09/02(月) 10:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.