アプリ版:「スタンプのみでお礼する」機能のリリースについて

最近、マクロを始めたのですが、マクロでActiveWorkbook(エクセル)
を添付して、メール送信までを出来ないかな?と思っています。宛先
はエクセルの別シートにリストで入力しておき、VLOOKUPで参照して、
必要な人に配布したいのです。色々調べたのですが、よくわかりま
せん。簡単なやり方があれば教えていただけませんか?

メールソフトはOutlook、OSはWindowsXPです。よろしくお願いします。

A 回答 (5件)

akina_lineさんの、#3のレスをよく見てませんでした。


#4の私のレスはスルーしてください。
失礼しました。
    • good
    • 0

#1です。



ThisWorkbookの場合は、一度
SaveCopyAs
で別ブックとして保存してから、別名保存したものを
添付してはいかがでしょう?

ActiveWorkbookの場合も同じようにできます。
もちろん、akina_lineさんの方法のほうが、別名保存、
場合によっては保存したものを削除、の手間がないので
より効率的だと思いますが。
    • good
    • 0
この回答へのお礼

別名保存をしてから、添付をすればいいの
ですね?SaveCopyAsを使用したらすぐ出来
ました。ありがとうございました。助かり
ました。

お礼日時:2009/02/03 12:43

こんにちは。

#2です。

 >ActiveWorkbookの時はどう記述するかわかりませんので、教えていただけませんか?
 >MailAddFile = Application.GetOpenFilename("全てのファイル (*.*),*.*",, _
 >"添付ファイルを選択して下さい。",, True)
 この記述はファイル選択ダイアログを出して、ファイルのパスをMailAddFileに格納するというものです。
  http://www.happy2-island.com/excelsmile/smile03/ …
  ですので、ActiveWorkbookを添付したい場合は、
   1.ActiveWorkbookをテンポラリ・ファイルに保存する。
   2.MailAddFileにテンポラリ・ファイルの絶対パスを格納する。
   3.送信後、テンポラリ・ファイルを削除する。
  という風に書き換えればよいと思います。(ActiveWorkbookが保存不要なものと考えて、テンポラリ・ファイルに保存しましたが、保存すべきものであれば、「名前をつけて保存」ダイアログで保存した後、その絶対パスを格納します。)

では。

この回答への補足

MailAddFileで2つのエクセルデータ(たとえば下記)を
添付したい時にはどう記述したらいいのでしょうか?
再度教えて下さい。

C:\Documents and Settings\デスクトップ\test1.xls
C:\Documents and Settings\デスクトップ\test2.xls

下記のように記述してみましたが、1つしか添付されません
でした。どうしてでしょうか?

MailAddFile "C:\Documents and Settings\デスクトップ\test1.xls"
MailAddFile "C:\Documents and Settings\デスクトップ\test2.xls"

補足日時:2009/02/06 16:54
    • good
    • 0
この回答へのお礼

Activeworkbookをそのままの状態で、
添付は出来ないのですね?格納してから
添付したら、出来ました。
ありがとうございました。

お礼日時:2009/02/03 12:40

こんにちは。



 下記サイトをご参照下さい。
  http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
  VBAを始めたばかりだと、難しいかもしれません。
  頑張ってください。

では。
    • good
    • 0
この回答へのお礼

ありがとうございます。お薦めのサイトはやり方がわからず、
検索していたら、出てきたので、それを参考にコードを記述
して、ある程度出来たのですが、下記のところのコードが、
ActiveWorkbookの時はどう記述するかわかりませんので、
教えていただけませんか?
MailAddFile = Application.GetOpenFilename("全てのファイル (*.*),*.*",, _
"添付ファイルを選択して下さい。",, True)

お礼日時:2009/02/01 21:31

CDO BASP21 メール


でネット検索してみてください。

アクティブブック<>ThisWorkBooxでしょうか?
    • good
    • 1
この回答へのお礼

ありがとうございます。
ThisWorkbookって事だと思います。作成したものをすぐ
メール添付して送りたいのです。開いていて、アクティブ
になっているもの(メール送信動作を指示しているマクロ
ボタンを作ってあるエクセル)です。

メールへ添付するのを下記を参考に記述をしたいのですが、
(CDOを使って)その場合、ActiveWorkbookを指定する
時、コードはどのように記述したらいいのか?教えてもら
えませんか?
MailAddFile = Application.GetOpenFilename("全てのファイル (*.*),*.*",, _
"添付ファイルを選択して下さい。",, True)

お礼日時:2009/02/01 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!