エクセルで表などを作り、ツールバーの電子メールボタンをクリックすると、前はイルカが「添付にします?それともそのままおくっちゃいます?」というようなことを聞いてきたのですが、
今は有無を言わせずそのままコピーを送信画面になります。添付にしたいのですが、どうしたら戻りますか?ちなみにoutlookexpressで添付すれば送れますし、ファイル→送信→メールの宛先(添付)でもいいのですが、毎度のことなので手間を省きたいのです、宜しくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

シャープです。

追加で。ファイル⇒送信⇒メールの宛先(添付ファイル)が表示されないときは、ツール⇒オプション⇒全般の添付文書として送信するがオンか確認してください。

この回答への補足

補足ですが、新規BOOKを送信しようとしたら、ちゃんと
イルカにどっちにするか聞かれました。
治ったーと思って、実際添付で送信したいBOOKを
開いて、電子メールボタンを押すと、やっぱりシートの送信になります。なぜでしょう???

補足日時:2003/10/15 17:57
    • good
    • 0

エクセル⇒ヘルプ⇒officeアシステントを表示で出てませんか?。



参考URL:http://www.sunrex.co.jp/mm/other/o5.htm

この回答への補足

回答ありがとうございます。
イルカは常にでてるんですが、ツールバーの電子メールボタンをクリックしても、何も言ってくれないんです 涙

以前は、「電子メール」をクリックすると、添付にするか、画面のまま送るか選べたんですけど・・・今は強制的に画面の送信になります。
ちなみにファイル→送信→宛先(添付)は普通に出来るんですが、以前のように電子メールボタンを押して添付したいのですが、どうしたらいいでしょうか??

補足日時:2003/10/15 17:51
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelファイルをマクロボタン一つでEメールで送ることはできませんか

Excel2003を使用しています。
Excelのファイルをマクロボタン一つで特定の宛先にEメール(Outlook Express6.0)で送るマクロを作成したいのですが。
マクロの記録でメニューのファイル>送信>メールの宛先(添付ファイル)をやってみたのですが、宛先入力・送信は手動でやらないといけません。
これらを全てボタン一つでする方法はないでしょうか。

Aベストアンサー

こんにちは。

 過去の質問を参考にしてください。
  http://oshiete.nikkeibp.co.jp/qa4670700.html
  ただし、ある程度VisualBasicの文法が分からないと難しいですよ。

では。

Qエクセルでメールの自動送信は可能?

 1枚の書類に担当者がそれぞれ確認内容を記載しながら
仕事を進めています。

 各書類を番号で管理し、それをエクセルの
表で台帳管理しています。

 途中の担当者が急遽他の仕事に時間を
とられるなど仕事に遅れを生じる場合がある
のですが、それらをエクセルの表で管理し
全体の調整に使っています。

 

 エクセルの表には、各作業の開始、終了日が
記載されています。

そこで、質問なんですが・・・

 エクセルに記載した日付から特定の期間(例えば
一週間)たつと、予め登録しておいた
担当者のアドレスに自動的に電子メールが送信
されるようにしたいのです。
 催促のメールの自動送信ということです。

何かいい方法はありますでしょうか?

Aベストアンサー

難しいのは、メール送信でしょうから、
これを参考に作成してみてはいかがでしょうか?

http://homepage1.nifty.com/gak/MSTips/multimail.htm

QEXCEL VBAでメール添付して送信

こんにちは。
EXCEL VBAで
自分のファイルをある宛先にメールで送信したい場合は、
どのようにしたらできますか?
どなたか、わかる方・・・教えてください。
よろしくお願いします。

Aベストアンサー

参考のスレのVBAを必要な部分だけにすると以下になります。
準備
VBエディターのツール 参照設定で
Microsoft Outlook 10.0 Object Library にチェックをいれます。
B3セルに 宛先 メールアドレス
F3セルに CC メールアドレス
C3セルに 件名
D3セルに 本文
G3セルに 添付ファイルのパスとファイル名
入れておいた場合です。

Sub ボタン1_Click()
Dim myOLApp As Object
Dim myDATA As MailItem
Set myOLApp = CreateObject("Outlook.Application")
Set myDATA = myOLApp.CreateItem(olMailItem)
myDATA.To = Range("B3").Value
myDATA.CC = Range("F3").Value
myDATA.Subject = Range("C3").Value
myDATA.Body = Range("D3").Value
myDATA.Attachments.Add Range("G3").Value
myDATA.Send
Set myDATA = Nothing
Set myOLApp = Nothing
End Sub

コピペして使ってみてください。コマンドの意味は先紹介のスレに
説明して有ります。

参考のスレのVBAを必要な部分だけにすると以下になります。
準備
VBエディターのツール 参照設定で
Microsoft Outlook 10.0 Object Library にチェックをいれます。
B3セルに 宛先 メールアドレス
F3セルに CC メールアドレス
C3セルに 件名
D3セルに 本文
G3セルに 添付ファイルのパスとファイル名
入れておいた場合です。

Sub ボタン1_Click()
Dim myOLApp As Object
Dim myDATA As MailItem
Set myOLApp = CreateObject("Outlook.Application")
Set myDATA = myOLApp.CreateItem(olM...続きを読む

QExcelの更新をメール通知

共有ネットワークドライブ上にExcelファイルを台帳として
保管しております。
誰かが追記したときに、他の人へも更新したことをメール
連絡しているのですが、この作業を省力化したく思います。
記入してあるセルはA、B、C列だけ、連絡先も固定なんでもしかしたらマクロ化できるのかなぁと思うのですが如何でしょうか?

A列:年月日、B列:件名、C列:記入者です。
最下行を読み取り
A & "日に" & C & "さんが & B"を追加しました"
と云う内容でメールを送れたら嬉しいです。

保存時若しくは終了時にマクロでメール送信できればいいなと思うのですが、どなたかご興味あればさわりだけでもサンプル作っていただけませんでしょうか?

Aベストアンサー

VBAでメールの送受信をするのは、簡単そうですが標準コントロールがないんですね。APIでも無理なので外部コントロールを導入するしかありません。
「BASP21」というコンポーネントに付属している「BSMTP.DLL」をシステムディレクトリにコピーすれば出来るかも知れません。

「BASP21」http://www.hi-ho.ne.jp/babaq/basp21.html

下は適当に作ってみたサンプルです。
ThisWorkbook内に貼り付ければいいと思います。

Option Explicit
'SendMail関数の宣言
Declare Function SendMail Lib "bsmtp" _
(szServer As String, szTo As String, _
szFrom As String, szSubject As String, szBody As String, szFile As String) As String

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ret As String '戻り値
Dim szServer As String, szTo As String, szFrom As String
Dim szSubject As String, szBody As String, szFile As String
Dim readRow As Long '最終行
Dim dtmDate As Date
Dim strSubject As String
Dim strMember As String
Dim fs, a As Object

On Error GoTo Err_Handler
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\log.txt", True)

szServer = "smtp.ocn.ne.jp" 'サーバー名
szTo = "*@kantei.go.jp" '宛先
szFrom = "**@kantei.go.jp" '送信元
szSubject = "更新" 'メールの主題
szFile = ""

'最終行から入力データを取得
With Worksheets("Sheet1") 'シート名
readRow = .Cells.SpecialCells(xlCellTypeLastCell).Row + 1
.Cells(readRow, 1) = dtmDate '年月日
.Cells(readRow, 2) = strSubject '件名
.Cells(readRow, 3) = strMember '記入者
End With
If dtmDate = Date Then '年月日が今日ならば
szBody = dtmDate & "に" & strMember & "さんが" & strSubject & _
"を追加しました"
ret = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile)
' パラメータエラーのときは、戻り値にエラーメッセージが返ります。
If Len(ret) <> 0 Then
a.WriteLine (Date & " " & Time & " " & ret & "-" & szTo & "-" & szBody)
MsgBox "エラー"
Else
MsgBox "完了"
End If
End If
GoTo Exit_sub

Err_Handler:
MsgBox Err.Description, vbCritical, "Error"
GoTo Exit_sub

Exit_sub:
a.Close
End Sub

本当に適当なので動かない可能性大です(;^_^A
適宜修正下さい。

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html

VBAでメールの送受信をするのは、簡単そうですが標準コントロールがないんですね。APIでも無理なので外部コントロールを導入するしかありません。
「BASP21」というコンポーネントに付属している「BSMTP.DLL」をシステムディレクトリにコピーすれば出来るかも知れません。

「BASP21」http://www.hi-ho.ne.jp/babaq/basp21.html

下は適当に作ってみたサンプルです。
ThisWorkbook内に貼り付ければいいと思います。

Option Explicit
'SendMail関数の宣言
Declare Function SendMail Lib "bsmtp" _
...続きを読む

QEXCEL VBA メール送信でファイル添付

現在、使用しているVBAを利用したメンバー向け案内メール配信で、ファイルを添付できないかと考えております。
G列に入力したアドレスのファイルを添付して送信できればと思うのですが、ご教授願えませんでしょうか。

現在のVBAは企業名、宛先共に変えられるように下記のような形となっております。
添付ファイルも宛先毎に異なります。

B列:送信先メールアドレス
C列:メール件名
D列:送信先所属名
E列:送信先宛名
F列:メール本文

コマンドボタンで一括配信となっております。

【以下記述】
Sub Mail_Send()

Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Dim i, LastRow As Integer

' CDOオブジェクト初期設定
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Worksheets("Sheet1").Range("C2").Value
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Worksheets("Sheet1").Range("C3").Value
.Update
End With

' 送信範囲設定
LastRow = Worksheets("Sheet1").Range("B7").End(xlDown).Row

' メール送信ループ
For i = 8 To LastRow

' 送信状況メッセージクリア
Worksheets("Sheet1").Range("F2").Value = ""

' メール本文作成
strbody = Worksheets("Sheet1").Range("D" & i).Value & vbCrLf & " " & _
Worksheets("Sheet1").Range("E" & i).Value & " 様" & vbCrLf & vbCrLf & _
Worksheets("Sheet1").Range("F" & i).Value

' 改行変換(送信環境によってはここの修正が必要かも)
tmpstrbody = Replace(strbody, vbLf, vbCrLf)
strbody = Replace(tmpstrbody, vbCr & vbCrLf, vbCrLf)

' メール送信
With iMsg
Set .Configuration = iConf
.From = Worksheets("Sheet1").Range("C4").Value
.To = Worksheets("Sheet1").Range("B" & i).Value
.BCC = Worksheets("Sheet1").Range("C5").Value
.Subject = Worksheets("Sheet1").Range("C" & i).Value
.TextBody = strbody
.Send
End With

' 送信状況メッセージ更新
Worksheets("Sheet1").Range("F2").Value = Worksheets("Sheet1").Range("B" & i).Value & " まで送信成功!"

' 3秒停止
Application.Wait [ NOW() + "0:00:03" ]

Next i

End Sub

現在、使用しているVBAを利用したメンバー向け案内メール配信で、ファイルを添付できないかと考えております。
G列に入力したアドレスのファイルを添付して送信できればと思うのですが、ご教授願えませんでしょうか。

現在のVBAは企業名、宛先共に変えられるように下記のような形となっております。
添付ファイルも宛先毎に異なります。

B列:送信先メールアドレス
C列:メール件名
D列:送信先所属名
E列:送信先宛名
F列:メール本文

コマンドボタンで一括配信となっております。

【以下記述...続きを読む

Aベストアンサー

確認していませんが、こんな感じで出来たと思います。
・・・
.From = Worksheets("Sheet1").Range("C4").Value
.To = Worksheets("Sheet1").Range("B" & i).Value
.BCC = Worksheets("Sheet1").Range("C5").Value
.Subject = Worksheets("Sheet1").Range("C" & i).Value
.Attachments.Add Worksheets("Sheet1").Range("G" & i).Value'←ここ
.TextBody = strbody
・・・

Qマクロでエクセルをメール送信したい。

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

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

Aベストアンサー

CDO BASP21 メール
でネット検索してみてください。

アクティブブック<>ThisWorkBooxでしょうか?

QEXCELマクロで複数のEMAIL宛先を指定

WIN XP, EXCEL2002, メーラーはOUTLOOK2002を使っています。
EXCELマクロで複数のEMAIL宛先を指定することはできますか?

ActiveWorkbook.SendMail Recipients:="email@*****.co.jp", Subject:="test"
にてひとつの宛先の場合はちゃんと送信できましたが、複数の宛先を指定する方法が分かりません。
よろしくお願いいたします。

Aベストアンサー

以下のようにすると、1本のメールを複数人に送れます。

Dim Str(4) As String
Str(0) = "email0@*****.co.jp"
Str(1) = "email1@*****.co.jp"
Str(2) = "email2@*****.co.jp"
Str(3) = "email3@*****.co.jp"
ActiveWorkbook.SendMail Recipients:=Str, Subject:="test"

または

ActiveWorkbook.SendMail Recipients:="email0@*****.co.jp,email1@*****.co.jp,email2@*****.co.jp,email3@*****.co.jp", Subject:="test"

最初のは#2の方の回答と似ていますが、#2の方の回答は1本のメールを4人に送るのではなく、4本のメールを単独で1人ずつに送っています。

この回答では、1本のメールを4人に送っています。

「送った相手に、誰々に送っているのか、知らせたい」場合は1本のメールで済ませます。

「送った相手に、誰々に送っているのか、知らせたくない」場合は、個別に4本で送ります。

1本で済ますか個別に送るかは、場合に合わせて使い分けた方が良いでしょう。

以下のようにすると、1本のメールを複数人に送れます。

Dim Str(4) As String
Str(0) = "email0@*****.co.jp"
Str(1) = "email1@*****.co.jp"
Str(2) = "email2@*****.co.jp"
Str(3) = "email3@*****.co.jp"
ActiveWorkbook.SendMail Recipients:=Str, Subject:="test"

または

ActiveWorkbook.SendMail Recipients:="email0@*****.co.jp,email1@*****.co.jp,email2@*****.co.jp,email3@*****.co.jp", Subject:="test"

最初のは#2の方の回答と似ていますが、#2の方の回答は1本のメール...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QEXCEL VBAマクロ作成で、他のEXCELからデータを取り込みたい

メインプログラム(EXCEL VBA)より、
他のフォルダーにあるEXCELの項目の内容を取り込みたいです。
たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。

・コマンドボタン押したら、どこのEXCELから取り込むかのポップアップ(?)は、表示はできてます。
・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。

・となると次はOPEN,INPUTですか?
テキストデータの取り込みですと、Inputでそのバッファを定義してるのですが、なんか違うような。。。

よろしくお願いします!

Aベストアンサー

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Cells(2, 2).Value ' 相手シートの B2 の値を自分自身の A1 に書き込む

readBook.Close False ' 相手ブックを閉じる
Set readSheet = Nothing
Set readBook = Nothing

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む

Q複数の同じフォーマットのファイルを新しいブックで一つのシートにまとめる方法

仕事で、各部署から送られてきた、同じフォーマットのファイル(シート1にのみデータ有)が50個近くあります。
それを新しいブックで一つのシートにまとめなくてはいけません。
地道にコピペするのは時間がかかるのでマクロで処理を行いたいと思います。
マクロでの処理方法ご存知の方、処理方法の載っているサイトをご存知の方、もしくはマクロより簡単な方法がありましたら教えてください。

あと、逆に一つのシートをいくつかのファイルに振り分けていく方法もご存知でしたら教えて下さい。
よろしくお願いします。

Aベストアンサー

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCopyMode = False
Workbooks(buf).Close SaveChanges:=False
buf = Dir()
Loop
End Sub
で試してみてください。使い方などは
http://oshiete1.goo.ne.jp/qa4225063.html
を参照してみてください。同じ質問があったので気がつきました。

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCop...続きを読む


人気Q&Aランキング

おすすめ情報