[[20200609081911]] 『webbrowser のNavigate時に強制終了されてしまう』(ゆきな) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『webbrowser のNavigate時に強制終了されてしまう』(ゆきな)

1.やりたいこと
タブレット端末でwebbrowserにPDFを表示させたい

2.現状
PCではwebbrowserにPDFを表示することができるものの、
タブレット端末で実行すると強制終了されてしまう。

3.各種スペック
・PC
エクセル2019
8GB
64ビットOS,x64ベースプロセッサ
Windows 10 Pro

・タブレット(Surface Go 2)
エクセル2019
4GB
64ビットOS,x64ベースプロセッサ
Windows 10 Home

4.webbrowserのコード

Private Sub UserForm_Initialize()

Dim path As String

path="こちらで所有しているアドレス"& ".pdf"

If Dir(path) <> "" Then

    UserForm1.WebBrowser1.Navigate path
End If

End Sub

※ネット上にでている一般的なコードと認識しています。

上記のコードで、PCでは問題なく動作するのですが、
タブレット端末で同じエクセルファイルで実行をすると
webbrowserがグレーになりこれからPDFが表示される…というところで
強制終了されてしまいます。

PC、タブレットともにAdobe Acrobat Reader DCはインストール済みで
PDF閲覧の既定アプリに設定されています。

あらゆることを試したのですが、できません。
もう術がなく、こちらに投稿をさせて頂きました。
各種で異なるのはメモリとWindowsがProかHomeかですが
そこが関与するのかも不明です。

各種スペックや動作に詳しい方、
ここを試してみては?等、様々な視点からアドバイスや
ご教授を頂けるととても助かります。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


開こうとしているpdfファイルは、サーバに置いてあったりしませんか? ローカルドライブにコピーして、それを開いてみるとか。

後は、インストールしているOfficeが、Surface Go 2とPCでは違うライセンスであり、権限になにか違いがある可能性。 SurfaceだとOfficeは標準バンドルされていますが、PCは会社ライセンスでActice Directory管理されているせいで、仲間外れにされていないか、等。 ローカルなら開ける、という場合、これが原因かも知れません。

次に、WebBrowserコントロールはExcel標準で付属するものではないのですが、これが適切ではない可能性。 pdfファイルではなく、Googleとか、一般的なURLに飛べるか試してみてください。 URLにも飛べないようなら、コントロールが存在しておらず、Pictureに置き換えられていたりしないでしょうか?

そして、なぜブラウザでpdfファイルを開いているのでしょう? ブラウザなんて経由せず、直接ファイルの関連付けでReaderを起動すれば良いように思います。
(???) 2020/06/09(火) 13:40


ブラウザコントロールにも問題がない場合、PC性能の問題で、UserForm_Initialize内で開こうとする事自体が原因の可能性があります。

具体的には、直接開くのを止めて、Initialize内ではOnTimeで別プロシジャを遅延実行(遅延時間は0でOK)するように書き換える事です。 これなら、Initialize時はコントロールをメモリに上げるまでであり、全てが整ってから別プロシジャ内でブラウジングするようになるので、問題発生しなくなる事でしょう。
(???) 2020/06/09(火) 13:45


コメント、ありがとうございます。
とても心強いです。

開こうとしているpdfファイルは、サーバに置いてあったりしませんか? ローカルドライブにコピーして、それを開いてみるとか。
後は、インストールしているOfficeが、Surface Go 2とPCでは違うライセンスであり、権限になにか違いがある可能性。 SurfaceだとOfficeは標準バンドルされていますが、PCは会社ライセンスでActice Directory管理されているせいで、仲間外れにされていないか、等。 ローカルなら開ける、という場合、これが原因かも知れません。

⇒PDFはサーバーに保管されております。PCでは問題なく開きました。
その為、PDFをタブレットのローカルにおいて実行してみましたが、やはり強制終了でした。

次に、WebBrowserコントロールはExcel標準で付属するものではないのですが、これが適切ではない可能性。 pdfファイルではなく、Googleとか、一般的なURLに飛べるか試してみてください。 URLにも飛べないようなら、コントロールが存在しておらず、Pictureに置き換えられていたりしないでしょうか?

⇒一般的なURLにも飛べず強制終了されてしまうことが確認されました。
コントロールが存在していないかについて、タブレットのVBEからプロパティウインドウで確認したところ、
WebBrowserになっていました。。。

ブラウザコントロールにも問題がない場合、PC性能の問題で、UserForm_Initialize内で開こうとする事自体が原因の可能性があります。

⇒上記を疑い、単純にボタンクリックでPDF表示の標準モジュール化で実行しましたが
やはりだめでした。

解決できない問題かもしれませんね。
本当お手上げです…

(ゆきな) 2020/06/09(火) 15:12


普通のURLで飛べないし、ボタンクリックでも駄目なら、コントロールが使えない可能性ですね。 フォーム上にある、WebBrowser コントロールのプロパティを確認してみてください。

例えば、デフォルトのWebBrowser1という名前であれば、プロパティウインドウ先頭のコンボ部分には、「WebBrowser1 WebBrowser」のように、オブジェクト名とコントロール名が書かれています。 これが、「WebBrowser1 Image」とか、違うコントロール名になっていないでしょうか? または、エラーになっているか。

解決方法は、WebBrowser1 と名乗っているオブジェクトは一旦削除。更に、「ツールボックス」上の最後の方に×になっているものがあれば、これも右クリックしてから削除してください。

次に、「ツールボックス」のアイコンが無い灰色部分を右クリックし、「その他のコントロール」を選びます。 そして、「Microsoft Web Browser」コントロールにチェックしてください。

「ツールボックス」に地球のアイコンが出たならば、これをフォームに貼ります。 オブジェクト名は、マクロに合わせましょう。 WebBrowser1 ですかね。
(???) 2020/06/09(火) 17:23


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.