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

Twitterに高度な検索画面があります。①日付の範囲を入力し、②特定の単語を入力し、画面右上にある黒丸の中の検索ボタンを押したURLを、outlookに貼り付けて、毎朝9時に同じ送信相手に送るというVBAを教えてください

TWITTER検索は
 単語を「避難民 受け入れ ウクライナ」の3つ
 日付範囲を「2022年6月5日 から 2022年M月D日」
URLの例 ここでは until%3A2022-06-18 とした
https://twitter.com/search?lang=ja&q=%E9%81%BF%E …


この場合、D+1日の9時にoutlookから、特定の相手へ送信します

特定の相手のアドレスは、
 TO欄  AAAA@example.com
CC欄   BBBB@example.com; CCCC@example.com


日付のところが、難しければ、送信する瞬間の年月日で構いません

上記のリンクをアウトルックにはりつくようにして、自分がPCを立ち上げている限り、自動送信できれば助かります

以上です。

A 回答 (2件)

■重要な注意点


文字コード Shift_JIS で保存できるテキストエディターを使って下さい。
Windows のメモ帳は UTF-8 で保存しちゃいますのでダメです。
また、あくまでサンプルなので動作保証しませんし、責任も負いませんからご理解の上でお願いします。

■1. の VBSファイル

Call SendMail

Public Sub SendMail()

Dim keyword
keyword = "避難民 受け入れ ウクライナ"

'Outlookで新規メールを作成
Dim OL: Set OL = CreateObject("Outlook.Application")
Dim MI: Set MI = OL.CreateItem(0)

'メール設定
MI.To = "AAAA@example.com"
MI.Cc = "BBBB@example.com;CCCC@example.com"
MI.Subject = "件名はココ"
MI.Body = "本文はココ。" & vbNewLine & vbNewLine _
& "本日のURL" & vbNewLine _
& CreateURL(keyword)

'↓メール表示(直で送りたい場合は MI.Send に書き換える)
MI.Display

Set OL = Nothing
Set MI = Nothing

End Sub

Public Function CreateURL(keyword)

'URLのパラメータを適当に作っているだけ
Dim url
url = "https:"
url = url & "//twitter.com/search?lang=ja&"
url = url & "q=[$検索語]"
url = url & "%20since%3A[$日付自]"
url = url & "%20until%3A[$日付至]"
url = url & "&src=typed_query"

url = Replace(url, "[$検索語]", EncodeURL(keyword))
url = Replace(url, "[$日付自]", Replace(Date() -14, "/", "-")) ' 14日前から
url = Replace(url, "[$日付至]", Replace(Date() -1, "/", "-")) ' 昨日まで

CreateURL = url

End Function

Public Function EncodeURL(source_str)
With CreateObject("Excel.Application")
EncodeURL = .WorksheetFunction.EncodeURL(source_str)
.Quit
End With
End Function

■2. の Batファイル

Start /min %~dp0メール送信.vbs
    • good
    • 0
この回答へのお礼

ありがとうございます

後で実験をしてみます

諦めていたのでお尋ねして良かったです

お礼日時:2022/06/20 13:51

こんにちは。



>Twitterに高度な検索画面があります。
>①日付の範囲を入力し、
>②特定の単語を入力し、
>画面右上にある黒丸の中の検索ボタンを押したURL

単に検索語をURLエンコードしてあるだけですね。
そこが何とかなればURLは割りと簡単に生成できます。

サンプルソースはVBスクリプト(VBS)内で
  ・検索語は変数で設定
  ・日付は2週間前~昨日
で決め打ちしています。

■仕組み

Windowsタスクスケジューラ→BAT→VBS→Outlook で実行。

1. メール送信本体のVBSファイルを作成して保存
  例)C:\タスクスケジューラ\メール送信.vbs
  内容下記参照
2. 起動用 Batファイルを作成して保存
  例)C:\タスクスケジューラ\メール送信トリガー.bat
  内容下記参照
3. Windows のタスクスケジューラでタスク作成。
  参考URL: https://officevba.info/taskscheduler/
  
  タスク名(任意の名前)
  毎日
  開始日 任意 時間 AM9:00
  プログラムの開始
  プログラムに2.の Bat ファイルを指定
  最上位の特権で実行に設定

投稿の制限にかかりますので次回等でサンプルソースです。
ソース中のコメントも読んで下さい。
    • good
    • 1
この回答へのお礼

すごい

ご親切にありがとうございます

お礼日時:2022/06/20 13:49

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