Gmailで「●月●日」の検索クエリを作るブックマークレット

取材ライターをしていると日々大量のプレスリリースがメールで届きます。その中から、取材のネタになりそうな発表会やイベントの案内を探すのに苦労していました。

例えば、「4月10日の新製品発表会の案内」というメールを探したいとき、Gmailの検索窓に「4月10日」と手入力するのは面倒ですし、うっかり日付を間違えてしまうこともあります。

そこで、今日から1週間分の日付を自動的に入力してくれるブックマークレットを作りました。

1週間分の日付を検索するGmailクエリを作成するブックマークレット

ブックマークレットとは、ブラウザのブックマークに登録しておける短いJavaScriptプログラムのことです。

このブックマークレットをクリックすると、自動的にGmailの検索窓に「4月10日」「4月11日」…といった具合に、1週間分の日付が入力されます。あとは「発表会」や「説明会」などのキーワードを追加するだけで、目的のメールを簡単に見つけ出すことができます。

今日から1週間の日付をGmailで検索するブックマークレット

このブックマークレットは、今日から1週間の日付を「●月●日」形式で生成し、それらの日付を含む「発表会」または「説明会」というキーワードが含まれるメールを検索します。

検索クエリの(発表会 OR 説明会)の部分は、検索したいキーワードに応じて適宜置き換えてください。例えば、「セミナー」や「イベント」などの単語を追加したり、別のキーワードに変更したりすることができます。

javascript:(function(){
  var today = new Date();
  var endDate = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000);
  var monthNames = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
  var dateStrings = [];

  for (var d = today; d <= endDate; d.setDate(d.getDate() + 1)) {
    var month = monthNames[d.getMonth()];
    var day = d.getDate() + '日';
    dateStrings.push(month + day);
  }

  var searchQuery = '("発表会" OR "説明会") AND ("' + dateStrings.join('" OR "') + '")';
  window.location.href='https://mail.google.com/mail/u/0/#search/' + encodeURIComponent(searchQuery);
})();

細かめな使い方の説明 ブックマークレットを使ってGmailで今日から1週間の日付を検索する手順は以下の通りです。

ブックマークレットの登録手順
  1. まず、上記のコードをコピーします。
  2. ブラウザのブックマークバーで右クリックし、「ページを追加」または「新しいブックマークを追加」を選択します。
  3. 名前の欄に、このブックマークレットの名前を入力します。例えば、「1週間の発表会・説明会検索」などです。
  4. URLの欄に、コピーしたコードを貼り付けます。
  5. ブックマークを保存します。
  6. 作成したブックマークレットをクリックします。

自動的に検索結果のページに遷移します。検索窓には、今日から1週間分の日付と、「発表会」と「説明会」のキーワードが入力された状態になっています。 必要に応じて、検索キーワードを変更します。例えば、「セミナー」や「イベント」などを追加したり、「発表会」や「説明会」を削除したりします。 Enterキーを押すか、検索ボタンをクリックして、検索を実行します。

複数アカウント利用時はユーザーIDを調整する

注意点として、コードの中にある https://mail.google.com/mail/u/0/#search/ の u/0/ の部分は、Gmailのユーザー IDを表しています。

u/0/ は、最初にログインしたアカウント(デフォルトのアカウント)を表します。 u/1/ は、2つ目にログインしたアカウントを表します。 u/2/ は、3つ目にログインしたアカウントを表します。

以降も同様に、ログインしたアカウントの順番に応じて、ユーザー IDが割り当てられます。 もし、デフォルト以外のアカウントで検索を実行したい場合は、コードの u/0/ の部分を適切なユーザー IDに変更してください。

ブックマークレットのコードは、JavaScriptの知識がなくても、検索したいキーワードを変更するだけで簡単にカスタマイズできます。自分によく届くメールの内容に合わせて、キーワードを変更してみてください。

指定した日付から1週間をGmailで検索するブックマークレット

次に、開始日を指定してその日から1週間の日付を検索するブックマークレットも作成しました。

指定された日付から1週間分の日付でクエリを作成するブックマークレット

javascript:(function(){  
    var startDateString = prompt("開始日を入力してください (MM/DD形式):");  
    var currentYear = new Date().getFullYear();  
    var startDate = new Date(currentYear + "/" + startDateString);  
    var endDate = new Date(startDate.getTime() + 7 * 24 * 60 * 60 * 1000);  
    var dateStrings = [];  
    for (var d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {    
        var month = d.getMonth() + 1;    
        var day = d.getDate();    
        dateStrings.push('"' + month + "月" + day + "日" + '"');  
    } 
    var searchQuery = '("発表会" OR "説明会") AND (' + dateStrings.join(' OR ') + ')';  
    window.location.href='https://mail.google.com/mail/u/0/#search/' + encodeURIComponent(searchQuery);
})();

このブックマークレットの使い方は以下の通りです。

ブックマークレットをクリックすると、開始日の入力を求められます。 開始日を「MM/DD」形式(例:04/01)で入力すると、その日から1週間分の日付を「●月●日」で検索します。

Gmailでの完全一致検索、難しくない?

このブックマークレットを作ったことで検索が劇的に効率化!と言いたいところですが、残念ながらそうでもありません。 Gmailの完全一致検索には課題があるようで、「●月●日」で完全一致検索しているつもりでも、「月」や「日」を含む関係のないメールがヒットしてしまう場合があります。検索するメールの件数が多いほど、うまく検索できないようです。 より確実に目的のメールを検索するには、Google WorkspaceのGmail APIを利用する方法もありますが、有料の契約かつ技術的なスキルがあるユーザーのみが対象と、なかなかハードルが高めです。

Gmailの検索機能を効果的に使いこなすための他の方法やアイデアがあれば、ぜひコメントなどで教えていただけると嬉しいです。

記事タイトル&URLを一瞬でコピー! そう、iPhoneのショートカットアプリならね

Twitterが「X」になって以来、Webサイトに埋め込まれているTwitterで投稿ボタンが機能しないケースが散見されている。このボタンには、Web記事のタイトルとURLを取得できることが多いため、ツイートしない時もメモ用に使うことがあった。

 

スマホ上で記事タイトルとURLを取得できれば良いので、iOSのショートカットアプリを使って取得の手順を自動化してみた。

 

●ショートカットアプリとは?

ショートカットアプリは、iPhoneiPadが内蔵するタスク自動化ツールだ。アクション要素をブロックのように繋げていって、プログラミング知識がなくても自動化ができる。

ショートカット ユーザガイド - Apple サポート (日本)

 

●記事のタイトルとURLを取得するショートカット

記事のタイトルとURLをテキストで取得するショートカットを作成した。これは、WebサイトなどをSafariで表示している時に、共有シートから起動できる。

 

●使い方

ブラウザーでおもむろに共有シートを開いて、「タイトルとURLをコピー」を選択する。起動すると、タイトルとURLをクリップボードにコピーされる。

 

なお、iOSのセキュリティ制限により、初めてこの機能を使うドメインでは、プライバシー警告が表示される。使いたい場合は「1度だけ許可」か「常に許可」を押してください。

ショートカットアプリでタイトルURLをコピー

ショートカットアプリでタイトルURLをコピー

 

●作り方

ショートカットアプリで1から設定したい場合は、以下のように登録すると、同じ物が作れる。

タイトルとURLの部分の書式を変えたいなら、「テキスト」の枠にお好きな書式を入れると良いだろう。

 

 

ショートカットアプリ

ショートカットアプリ

●ChatGPTによる詳しい説明

以下は画像を元に生成した、ChatGPT(GPT-4o)による詳しい設定手順だ。

このショートカットは、共有シートからURLを受け取り、そのURLのエンコードされたバージョンと記事タイトルを取得し、これらをクリップボードにコピーするように設定されています。

 

このショートカットを設定するには、次の手順に従ってください:

  1. ショートカットアプリを開く

  2. 新しいショートカットを作成:

    • 「+」ボタンをタップして新しいショートカットを作成します。
  3. アクションの追加:

    • 「共有シートからURLの入力を受け取る」アクションを追加します。
    • 「URLエンコード」アクションを追加します。
    • 「記事を取得」アクションを追加します。
    • 「タイトルを取得」アクションを追加します。
    • 「テキスト」アクションを追加し、タイトルとURLエンコード済みのテキストを結合します。
    • 「テキストをクリップボードにコピー」アクションを追加します。
  4. ショートカットを保存:

    • ショートカットに名前を付けて保存します。

これで、共有シートからこのショートカットを呼び出すことで、URLとタイトルをクリップボードにコピーすることができます。

 

●とにかく使いたい人向け

以下のGoogleドライブに置いておきました。iOS  17.0で動作確認済み。無保証。

 

Androidで同じ事がしたい

「簡単!ページ共有」というアプリで同じことができます。iPhoneよりも手軽です。おすすめ。

play.google.com