当社には、Access 2013 デスクトップ データベース アプリケーションからリンクしようとしている Web ベースの従業員ディレクトリがあります。ユーザーのプロフィールへのリンクは次のようになります。https://mysite.example.com?Person.aspx?guid=9eda6bb0-6b6b-492e-adbb-3c39e8a7fcd0
ブラウザ (IE9) でその URL に直接アクセスすると、自動的に認証され、そのユーザーのプロファイルにリダイレクトされます。デスクトップに URL ハイパーリンクを作成して起動すると、IE9 が起動し、そのユーザーのプロファイルにリダイレクトされます。Excel セルの値をその URL に設定し、結果のハイパーリンクをクリックすると、同じ動作になります。Word でそのハイパーリンクをクリックすると、同じ動作になります。
Web ブラウザー コントロールをアクセス フォームに埋め込み、その URI を目的の場所に設定した場合でも、リンクは機能します。その後、リンクがユーザーの外部ブラウザーで開かれた場合でも同様です。私はたまたまこの癖を発見しました。
問題は、Access アプリケーションからその URL へのハイパーリンクを作成してクリックすると、IE9 が起動してその URL にアクセスしたときに、次のエラー メッセージが表示されることです。
There was a problem accessing the site. Try to browse to the site again.
If the problem persists, contact the administrator of this site and provide the reference number to identify the problem.
Reference number: dc40e099-a58d-472d-b187-ac162d399e28
これは、IIS (Microsoft Internet Information Services フレームワーク) からの標準的な認証エラーのようです。
Access VBA からFollowHyperlink関数を使用すると、同じ問題が発生します。
これを回避できた唯一の方法はShell "explorer " & Chr(34) & "https://mysite.example.com/Person.aspx?guid=9eda6bb0-6b6b-492e-adbb-3c39e8a7fcd0" & Chr(34)
、要素のClick
メソッドで VBA コマンドを使用することですが、要素はネイティブのハイパーリンクのように動作しません (自動ハイパーリンク スタイル、「ハンド」カーソルなど)。また、Access のハイパーリンクが他の Windows/Office ハイパーリンクとは異なる動作をする理由にも非常に興味があります。
何か案は?