MS Access

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

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

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

[code]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
[/code]

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

フォーム テンプレート

Accessのフォームを作るときに、「フォーム テンプレート」を使う方法があること、知っている人は多いのかな? 既存のフォームにあるテキストボックスの色やサイズなどの設定(プロパティ)を引き継いで、新 …

no image

Access2007でテキストファイルエクスポートしたら1文字ずれる

Access2007で、指定フィールドからLeft関数で10文字とったクエリを作り、固定長でテキストファイルにエクスポートしたら、5000件のデータのうち3件だけが、文字が末尾に1桁多く入り、後ろがず …

no image

.htaccessと25番ポートブロック

初めてレンタルサーバの乗り換えにチャレンジした、昨日客先。 前日から今朝まで、新アドレスでの表示はずっと「500 Internal Server Error」。 乗り換え先レンタルサーバにサポート依頼 …

no image

「3070 有効なフィールド名または式として認識できません」エラーで、困った

Accessで、クエリ単体での実行だとうまくいくのに、いざ、そのクエリをVBAコード内で実行すると、上記エラーが出る。 難問だった。 SQL文内でDISTINCTを使っているからかなーとか、LEFT …

no image

AccessのデータをGoogleスプレッドシートに表示する

会社のネットショップで、お客様から電話で荷物の出荷状況について問い合わせがあった場合に、現状ではすぐに対応できていなかった。 荷物の伝票番号は、クロネコヤマトのB2のソフトか、あるいはAccessの業 …