MS Access

AccessやExcelで作ったハイパーリンクではChromeブラウザ上のGmailの受信トレイを検索できんかった・・・がShellならできた

投稿日:2020年9月30日 更新日:

Accessのフォームにつくったボタンをクリックしたら、ハイパーリンクに変数がセットされ、その変数でGmailの受信トレイを検索する・・・・といった仕組みを作りたかった。

Private Sub cmdメール検索_Click()
Dim myTextValue As String, orderno As String, bikou As String
On Error Resume Next
orderno = Me.注文番号
bikou = Me.お名前等備考
myTextValue = "https://mail.google.com/mail/u/0/#search/" & orderno & "%23" & bikou '%23は空白を意味

'    NGだったパターン
'    Me.cmdメール検索.HyperlinkAddress = "" 
'    Me.cmdメール検索.HyperlinkAddress = myTextValue

'    OKだったパターン
Dim sApl
sApl = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" '// ブラウザのパス
Call Shell(sApl &; " " & myTextValue)
End Sub

WordPressのエディタがあほなせいで、アンパサン(&)やダブルクオーテーション(”)が変になっているが、読み替えて欲しい。済まない。

EdgeやFirefoxでは、HyperlinkAddressプロパティに変数をセットするだけで、思った通りに検索して、その結果を出してくれる(上記コードの「NGだったパターン」で成功する)。

しかしChromeでは、うまくいかない。
画面を見ていると、どうやらプログラムを実行後に、ChromeのURL欄に入力された#searchが##searchに置き換えられ、そのあと#inboxにリダイレクトされたうえで、#searchが消される。

念のため、Excelのセルに、VBAを使わずに「https://mail.google.com/mail/u/0/#search/354942-20200929%207010111」といった感じのリンクを付けてクリックしてみたが、やはり同じだった。この時点でVBA犯人説は消えた。

となると今回悪いのは、MSのアプリでもVBAでもない。Chromeだ。
しかし、Google検索しても、このトラブルの回避方法について誰も書いていない。

諦めかけたところで、下記の記事を見つけ、WindowsのShellを使うやり方を試してみた。

セルの値を好きなブラウザでGoogle検索する | Excel作業をVBAで効率化

結果、上記コードの「OKだったパターン」で成功。

意味が分からんので、もやもやはしているけど、Chromeの仕様かなんかだろうか。
これ以上調べてもわからんので、とりあえずは良しとしよ。

-MS Access

執筆者:

関連記事

no image

Excelで使える祝日判定のWebAPIを見つけた

Excelの関数には、曜日を判定できる関数(WEEKDAY)が用意されている。また、表示だけなら書式設定でもできる。しかし祝日となると、関数も何も、用意されていない。 祝日は年により、突然増えたり、「 …

no image

AccessからMySQLを操作

WordPressに書いた記事は、MySQLに格納されている。 格納された大量の記事をまとめて修正したいときは、いちいち管理画面から修正するのは疲れる。 今までは、PhpMyAdminでSQLのUPD …

no image

テーブル/クエリのデータシートビューでイベントを処理する方法

参考:テーブル/クエリのデータシートビューでイベントを処理する方法 | YU-TANG’s MS-Access Discovery え、そうなの? クエリを閉じた際のイベントをセットできる …

no image

Accessでメッセージ内容が無い(のっぺらぼう、OKボタンのみ)エラーメッセージがでる

自分作のモジュールの記述で、以下のように書いている箇所があって、 If rs.EOF = True Then GoTo Err_chkFukuyamaVcr ‘error Else   (中略) また …

Accessで複数レコードを1レコードにまとめる(運送会社送り状作成のため

Accessに入れてある楽天の注文データをもとに、運送屋さんの送り状伝票を作ろうと思い立った。 しかし、楽天の注文データは、同一の受注番号で複数の商品に分かれている。 例えば一人の人が3点買い物をした …