質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

1048閲覧

サイトが更新された際の通知メールの作成について

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/11/22 09:44

編集2017/11/22 09:45

サイトが更新されたら、指定したアドレスにWebページが更新されました。というメールが届くようにしたいのですが、どのようにプログラムを書いたら良いですか?
言語はなるべくvbaがいいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

VBAのことは知りませんが、一般論は次のようになるかと

1.対象のWebページのURLを入力するとそのページのHTMLを取得して出力する関数を書く
2.1で作った関数を定期的に実行して、HTMLを取得する。取得した時、前回見た時のHTMLと比較して、違う部分があれば何か更新があったということ、違う部分がなければ何も更新がなかったということ
3.指定したアドレスに指定した文章のメールを送信するプログラムを書く
4.2で、更新を検知したら、3で作ったプログラムに渡して、メールを送信する

投稿2017/11/22 11:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/22 12:01

回答誠にありがとうございます。 なるほど、大まかな流れが大体わかりました! しかし、htmlについては全くの無知でしたので、勉強をして理解を深めたいと思います!
guest

0

VBAってことはExcelとかAccess上で動かすのでしょうか。
ところで、VBAからネットにアクセスする方法はどのくらい把握していらっしゃいますか。
webページにアクセスするだけなら、無償で使えるMSXML2.XMLHTTPを駆使すれば出来なくもないですが、
「webサイトやwebページの更新」をどういう条件で検出するか、
例えばGETリクエストを送って得られる応答データのサイズの変化を見るとか、
応答データ内の特定の文字列を検出するとか、
そういうやり方になりそうかなと。
HTTP通信そのものの制御や情報は活用できないでしょうから。

事例は、「MSXML2.XMLHTTP VBA」などとして検索すれば見つかるでしょう。
SJISやUTF-8じゃないエンコーディングだと厄介かもしれませんが。

問題は、メールを送信する部分でしょうか。
BASP21 Proを組み込めば
メール送信ができるかもしれません。

重ねていいますが、VBA標準ではネットの操作はできないに等しいので、
もっとネットを楽に扱える軽量な言語でやるとよいとおもいます。
perl, python, rubyなどなど。

投稿2017/11/22 11:01

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/22 12:03

VBA以外の言語をあまり知らなかったです…。vbaには特化した部分(エクセル)などがあったんですね。 プログラムに関しての知識を深めていきたいです…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問