VBAでのメール送信

最近の書き込み件数: 今日 0件、昨日 0件
未読分:6件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#6 2015年10月12日(月)18時00分
From: 菊池 幸之介
返事 削除 変更
ジャッカルのメッセージ(#5)への返事

> internetExplorerのVBA操作なら専用掲示板があるんで、そちらに質問したほうが回答してくれる人が多いですよ。
> むしろそっちの方が僕よりレベル上です。
>
> ぱっとみて気づいたのは
>
> > > ie.document.getElementById("main-btn-new")(0).Click
>
> の(0)がいらないってことですかね。

ありがとうございます。

掲示板の方にも投稿してみようと思います。

Message#5 2015年10月12日(月)08時58分
From: ジャッカル
返事 削除 変更
internetExplorerのVBA操作なら専用掲示板があるんで、そちらに質問したほうが回答してくれる人が多いですよ。
むしろそっちの方が僕よりレベル上です。

ぱっとみて気づいたのは

> > ie.document.getElementById("main-btn-new")(0).Click

の(0)がいらないってことですかね。

Message#4 2015年10月11日(日)17時26分
From: 菊池 幸之介
返事 削除 変更
菊池 幸之介のメッセージ(#3)への返事

> ジャッカルのメッセージ(#2)への返事
>
> > > 宛先と差出人を入力して実行すると「ActiveXコンポーネントを作成できません。」というメッセージがでます。
> > > PCはWindows7、Excelは2013です。
> >
> > 32bitと48bitどっちを利用してますか?
> >
> > たしかBASP21は32bitだったと思うので、64bitの場合は、利用できませんよ。
>
> お返事ありがとうございます。
>
> そうだったんですね!
> 私のPCは64bitでした。
>
> BASP21は使えないので、
> IE操作をしてyahooメールを送ろう思うのですが
> 次のコードですと「オートメーションエラーです。」というメッセージがでます。
> お分かりでしたら教えていただけたら幸いです。
>
> Sub yahoo()
> Dim ie As InternetExplorer
> Dim i As Long
>
> Set ie = CreateObject("internetExplorer.Application")
> ie.Visible = True
> ie.navigate
> 'yahooメールの画面
> "https://jp.mg5.mail.yahoo.co.jp/neo/launch?.rand=64q38e8rjip34#tb=w8o0z9sc"
> Do While ie.Busy Or ie.readyState < READYSTATE_COMPLETE
> DoEvents
> Loop
>
> Call WaitFor(2)
>
> ie.document.getElementById("main-btn-new")(0).Click
>
>
> End Sub
>
>
> Sub IEInputImageClick(ie As Object, imageSrc As String, strTag As String)
> For Each objInput In ie.document.getElementsByTagName(strTag)
> If InStr(objInput.src, imageSrc) > 0 Then
> objInput.Click
> Exit For
> End If
> Next
> End Sub
>
>
>
> '指定した秒だけ停止する関数
> Sub WaitFor(ByVal second As Integer)
> Dim futureTime As Date
>
> futureTime = DateAdd("s", second, Now)
> While Now < futureTime
> DoEvents
> Wend
> End Sub
>
> よろしくお願い致します。


わかりずらく申し訳ありません。
やろうとしていることなのですが、
yahooのメール画面へ行きまして、「新規作成」をクリックしてメール作成を行いたいのですが、「新規作成」をクリックする時点でエラーになります。

すみませんが宜しくお願い致します。

Message#3 2015年10月11日(日)17時05分
From: 菊池 幸之介
返事 削除 変更
ジャッカルのメッセージ(#2)への返事

> > 宛先と差出人を入力して実行すると「ActiveXコンポーネントを作成できません。」というメッセージがでます。
> > PCはWindows7、Excelは2013です。
>
> 32bitと48bitどっちを利用してますか?
>
> たしかBASP21は32bitだったと思うので、64bitの場合は、利用できませんよ。

お返事ありがとうございます。

そうだったんですね!
私のPCは64bitでした。

BASP21は使えないので、
IE操作をしてyahooメールを送ろう思うのですが
次のコードですと「オートメーションエラーです。」というメッセージがでます。
お分かりでしたら教えていただけたら幸いです。

Sub yahoo()
Dim ie As InternetExplorer
Dim i As Long

Set ie = CreateObject("internetExplorer.Application")
ie.Visible = True
ie.navigate
'yahooメールの画面
"https://jp.mg5.mail.yahoo.co.jp/neo/launch?.rand=64q38e8rjip34#tb=w8o0z9sc"
Do While ie.Busy Or ie.readyState < READYSTATE_COMPLETE
DoEvents
Loop

Call WaitFor(2)

ie.document.getElementById("main-btn-new")(0).Click


End Sub


Sub IEInputImageClick(ie As Object, imageSrc As String, strTag As String)
For Each objInput In ie.document.getElementsByTagName(strTag)
If InStr(objInput.src, imageSrc) > 0 Then
objInput.Click
Exit For
End If
Next
End Sub



'指定した秒だけ停止する関数
Sub WaitFor(ByVal second As Integer)
Dim futureTime As Date

futureTime = DateAdd("s", second, Now)
While Now < futureTime
DoEvents
Wend
End Sub

よろしくお願い致します。

Message#2 2015年10月11日(日)16時06分
From: ジャッカル
返事 削除 変更
> 宛先と差出人を入力して実行すると「ActiveXコンポーネントを作成できません。」というメッセージがでます。
> PCはWindows7、Excelは2013です。

32bitと48bitどっちを利用してますか?

たしかBASP21は32bitだったと思うので、64bitの場合は、利用できませんよ。

Message#1 2015年10月11日(日)14時33分
From: 菊池 幸之介
返事 削除 変更
VBAでのメール送信ができないので教えて頂けないでしょうか。

コードはこちらです。
Sub Sample()
Dim bobj, msg As String
Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String
Set bobj = CreateObject("basp21") ''BASP21オブジェクト
Server = "smtp.mail.yahoo.co.jp" ''SMTPサーバー
Mailto = "" ''宛先
MailFrom = "" ''差出し人
Subject = "タイトル" ''タイトル
Body = "ここに本文を書きます" ''本文
msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "")
Set bobj = Nothing
If msg <> "" Then MsgBox msg
End Sub

宛先と差出人を入力して実行すると「ActiveXコンポーネントを作成できません。」というメッセージがでます。
PCはWindows7、Excelは2013です。

よろしくお願い致します。

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com