• ベストアンサー

Excel(2003)で、メール送信したい

あらかじめ決定(固定)した(A)送信先と(B)題名に、自分自身(.xls)を(C)添付ファイルとして送信する方法を探っています。 (1)セルでハイパーリンクを使う方法  (A)(B)は可ですが、(C)添付ファイルの指定方法がわかりません。  ?MailAddFile= や ?Attached= でもだめですよね。  添付ファイルを指定することは可能でしょうか? (2)Excelからメーラーを呼び出す方法  ファイルメニューの[送信(D)]-[メールのあて先(添付ファイル)(A)]  で添付できますが、(A)と(B)を指定する方法がわかりません。  可能でしょうか? 現在、ワークシートブックオブジェクトのSendMailメソッドを使用中ですが... 今後、  1)管理者A=各メンバーにファイルをメールかダウンロードで配布。  2)各メンバー=必要事項を記入後、運営者Bに添付送信。 したいのですが、セキュリティでマクロなど不可の環境もあるため、良い方法がないか悩んでいるところです。 ご教示いただけると助かります。

  • nj-20
  • お礼率91% (11/12)

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

マクロの記録で出るコードを手直しして Sub Macro1() Application.Dialogs(xlDialogSendMail).Show "自分宛のメイルアドレス", "連絡" End Sub (テスト用。自分宛の単純にはテスト成功。) で上記コードを入れたエクセルブックを添付できますが、本文を入れさせてくれないようです。 小生にはセキュリティやサーバー環境でどうなるかわかりません。 ーー Outlookを使う方法 OutLookのライブラリを参照設定。 例データ Sheet1のA3:B5 宛先 (メイルアドレス) 件名 打ち合わせ 本文 ’早急に打ち合わせしたい ーーー Sub test02() Dim OutApp As Object Dim OutMail As Object Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) With OutMail .To = Sheets("Sheet1").Range("B3") .CC = "" .BCC = "" .Subject = Sheets("Sheet1").Range("B4") .Body = Sheets("Sheet1").Range("B5") '.Attachments.Add ActiveWorkbook.FullName .Send End With Set OutMail = Nothing Set OutApp = Nothing Application.Quit End Sub これで自分宛送信成功。'.Attachments.Add をコメントアウトしてやりましたが、戻してやってみてください。 >セキュリティでマクロなど不可の環境もあるため は小生は力及ばず。 ーー 方法についてはWEBを照会すると、他に CDO(SendMailByCDO) http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_080.html 小生の場合テストうまく行かず。 BASP21 などの記事があります。

nj-20
質問者

お礼

迅速なご回答感謝いたします。大変参考になりました。 1)Outlookを使用する方法→ほぼ期待通りに使用できました。 2)CDOを使う方法は→  相手先(不特定)のSTMPサーバーが不明なため、残念ながらそのままでは  使用できませんでした。相手先のメーラーからSTMPサーバー名を取得する  方法を探ってみます。 >>セキュリティでマクロなど不可の環境もあるため >は小生は力及ばず。 とんでもありません。いつも参考にさせていただいています。 現HyperLink機能での実現は不可能で、Excel本体が機能アップ(?)しなけれ 解決できないと理解いたしました。HyperLink機能に添付ファイルが扱えるよ うに、MSに期待しておきます。 ありがとうございました。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2
nj-20
質問者

お礼

迅速なご回答感謝いたします。 大変参考になりました。 outlook Objectを使用する方法は、ほぼ問題なく使用できましたが、 やはり相手先(各メンバー)のセキュリティレベルによっては、 マクロ・VBA不可なため、限定的な使用になってしまうのが、惜しい ところです。 ありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

MS OutLookのMicrosoft Outlook 10.0 Object Libraryを使用した方法です。 過去スレですが、参考にしてください。 http://oshiete1.goo.ne.jp/qa4264758.html

nj-20
質問者

お礼

迅速なご回答感謝いたします。 大変参考になりました。ほぼ問題なく使用できました。 ただ、やはり、相手先(各メンバー)のセキュリティレベルによっては、 マクロ・VBAが使用できず、限定的な使用にとどまってしまうのが残念な ところです。 ありがとうございました。

関連するQ&A

  • EXCELの一部のシートのみを添付ファイルとしてメール送信する方法?

    EXCELでシートのみを添付ファイルとしてメール送信する方法を考えています。 シート「1」、シート「2」・・・シート「30」 といったような構成のEXCELブックがあり、 さらにシート「メール送信」というシートを設け、 そのシートのみを添付ファイルとしてメール送信する方法です。 BASP、SendMailメソッド、アドイン、いろいろな方策は見当たりましたが、 なかなか「シートのみを添付ファイルで送信」といったような実例が見当たらず困ってしまっています。 やはりVBAで考えるのが早いでしょうか? もしVBAでやるとすれば、みなさんならばどういったものになるのかぜひ教えてください。 その他、いい方策があれば教えて頂きたいです。 具体的なイメージとしてはこうです。 シート「メール送信」のA1セルにシート「5」のA1セル(売上)をリンク シート「メール送信」のB1セルあたりにコマンドボタン「メールを送信する」 添付されるシートには数式ではなく、値としてデータが挿入されている といったような運用方法です

  • ExcelVBAで自動的にメールを送りたい

     ExcelVBAで、指定した宛先やCC,BCC、件名や本文をメール送信したいのですが、可能でしょうか。  SendMailメソッドを使う方法があると思いますが、ブックを添付して送信しなければならず(間違っていたらご指摘ください)、何もブック等を添付せずにメール送信したいのです。  可能でしたら、その方法をご教授ください。 よろしくお願いします。

  • Excelのハイパーリンクで絶対パスが動作しない

    こちらで同類の質問を見つけましたが解決に至っていなかったので質問させていただきます。 当方、Excel2000を使用しています。 サーバー上にある共有フォルダ(Jドライブ)の同じフォルダの中に「A.xls」とリンク参照先のファイル「B.xls」があります。 「A.xls」のセルに、「B.xls」を開くためのハイパーリンクを、絶対パス(J:\フォルダ名\B.xls)で指定しました。 しかし、「A.xls」を例えばローカルドライブ(Cドライブ)のデスクトップにコピーし、そちらを開いてハイパーリンクをクリックすると、Jドライブにある「B.xls」を開きたいのに、ハイパーリンクが相対パスに変わってしまって、デスクトップ上のB.xlsを探してしまうため「ファイルが見つかりません」と表示されてしまいます。 [ハイパーリンクの編集]で確認したところ、「ファイル名またはWebページ名」欄には絶対パス「J:\フォルダ名\B.xls」を指定したはずなのに「J:\フォルダ名\」の部分が消えてしまい、「B.xls」というファイル名しか残っていませんでした。 Microsoftサポート情報『JP418119:以前のバージョンでハイパーリンクが開けない』の原因欄に『参照元と参照先が同じドライブの場合、ファイルを保存した時点で相対パスに変更されます。』とあったので、システムの仕様なのかもしれませんが、同一フォルダ内にあるファイルでも絶対パスの情報を保持する方法はないでしょうか。 デスクトップにある「A.xls」でハイパーリンクを設定すれば、「B.xls」と別フォルダのためか絶対パスが保持されるのですが、「A.xls」は最終的には「B.xls」と同じフォルダ内に保存しておきたいので、いちいちコピーするのはなるべく避けたいため、同一フォルダ内でも絶対パスの指定を保持する方法を教えてください。

  • メールの送信

    mail コマンドからメールが送れるのは、sendmail が使われているのでしょうか?それとも mail コマンドが単独でメールを送っているのでしょうか? ただいま、管理人にメールが送れるウェブサーバーを立てたいと思っていますが、MTA を使わずにメールを送信できるのなら、使わずにメールを送信できるようにしたいです。PHP を使ってメールを送信する予定です。しかし、PHP を使ってメールの送信が出来ません。mail コマンドで送信できたので、PHP でも送信できそうな気がしたのですが。 やはり mail コマンドも sendmail を使っているのでしょうか?その場合、sendmail のパスは、/usr/libexec/sendmail/sendmail で合っていますでしょうか? /etc/mail/mailer.conf を見て、実際見に行ったら sendmail があるようですが、パスをそのように指定しても、メールが送信されません。 環境は FreeBSD5.0R です

  • Excelにて外部Excelファイルのデータを参照する方法

    お世話になります。 Excelにて外部のExcelファイルのデータを参照する方法を教えていただけませんでしょうか。 具体的には、 1.Excelファイルa.xls b.xls c.xls・・・ があります。 2.a.xlsの a1 に b.xls の a1 の値を入力し、続けて a.xls の a2 に c.xls のa1・・・を繰り返していきます。上手く説明できないので、下を参照願います。 ------------------------------------------------ <a.xls> |a |b |c -+------- 1|a1|b1|c1 ←b.xls ないのa1-c1のデータ 2|a1|b1|c1 ←c.xls ないのa1-c1のデータ 3|a1|b1|c1 ←d.xls ないのa1-c1のデータ ------------------------------------------------ 上記を数百のファイル分行いたいのですが、外部ファイルを開いて該当のセルをコピーしていると非常に時間がかかります(といいますか無理でしょう)そこで、これらを数式から指定して、セルにコピーする事により、作業を効率化したいというわけです。 そのような方法がございましたら、教えていただけませんでしょうか。 よろしくお願い致します。

  • エクセルでメール送信

    エクセルのワークシートが複数あります。 VBAで  ActiveWorkbook.SendMail Recipients:="xxxxxx@xxx.ne.jp" とすると、ワークブックがメールに添付され送信されますよね。 これを、ワークブック全体ではなく、特定のシートだけをメールに添付して送信したいのですが・・・ 送信側はワークブックにて入力用シートでデータの入力をし、送信用のシートを完成させます。受信側では入力用シートは不要です。 すいません、このような以前にもありましたか? どなたか教えてください。お願いします。

  • excel の ハイパーリンク のサブアドレス

    excel の ハイパーリンク のサブアドレス をメールで送る場合の記述について、教えてください。 社内の共有サーバーのとあるexcelファイルのハイパーリンクで送る場合、 file://C:\Users\new\Desktop\sample.XLS で送れることは、わかるのですが、これにサブアドレスを指定して、 たとえば、ワークシートのA1セルの場合、下のような記述で送ろうとするとうまくいきません。 file://C:\Users\new\Desktop\sample.XLS/Sheet3!A1 メールでサブアドレスを指定して、リンクを送る場合どういった記述をすればいいでしょうか? 当方、エクセルは2000です。

  • sendmailで添付メールを送信したい

    Perlを勉強してまだ日が浅い初心者です。 sendmailを利用して添付メールを送信したいのです。 WEBで色々と探して自分で勉強してみたのですが・・・ ほとんどがモジュールを必要としています。 モジュールってインストールしないと駄目なのですよね? 設置場所がレンタルサーバーなのでそれは多分出来ないのです。(sendmail可) 標準モジュールのみで添付ファイルを実現できる方法はありませんか? 宜しくお願いします

    • ベストアンサー
    • Perl
  • Excelの一括ハイパーリンクの設定を教えてください

    ExcelのB列のセルには、絶対パスで指定されたエクセルのファイル名が入っています。たとえばC:\DATA\見積もり\鈴木様.xlsのようにはいっています。このB列の値にハイパーリンクさせて鈴木様.xlsのデータをExcelで開きたいのです。ただ、B列のデータ数が1000件ほどあるので一括でハイパーリンクを設定したいのです。宜しく、お願いします。 ためしに、ハイパーリンクの関数を使ってB1にそのままハイパーリンクを設定したら循環参照エラーとかになってしまいました。 Excel2003を使用しています。2007もあり。

  • VBAでメールにアクティブブックを添付したい

    EXCEL2003を使用しています。 ・アクティブブックを保存し、メールに添付 ・送信先アドレス、件名を指定 ということをVBAで行ないたいです。 調べてみた所、メール送信に関するVBAの記述としては「SendMailメソッド」を使えばいいらしいのですが、こちらは送信まで行なってしまうようです。 でも今回の場合は自動送信ではなく、上記の通り送信の直前で止めたいのです。 (本文記述と送信ボタン押下は手動) できればメニューの[ファイル]-[送信]機能ではなく、VBAで処理したいのですが…どうすればいいのでしょうか。

専門家に質問してみよう