次の方法で共有

Access2010 WebBrowserコントロール 縮小表示の方法

Anonymous
2012-08-15T14:11:46+00:00

初めて質問させていただきます。

下記の要領でWebBrowserコントロールを利用して、Web上に保存している特定の画像を表示しているのですが

表示される画像の大きさが大きく、スクロールをしなければいけないため、縮小表示したいのですが、どのようなプロシージャを追加したら良いか

ご教示いただきたく、投稿させていただきました。

----- 引用始まり------

Private Sub Form_Current()

        WebBrowser7.Navigate "http://xxxxxx/" & Me!FileName & ".JPG"

End Sub

------ 引用終わり------

下記のように Document.body.Stile = "Zoom:20% の文を追加したのですが、

「実行時エラー '-2147467263(80004001)': 実装されていません。」 というエラーになってしまいます。

----- 引用始まり------

Private Sub Form_Current()

        WebBrowser7.Navigate "http://xxxxxx/" & Me!FileName & ".JPG"

        WebBrowser7.Document.body.Style = "Zoom:20%"

End Sub

------ 引用終わり------

分かりにくい質問でしたら申し訳ありません。

解決方法について、ご指南いただきたく、何卒お願いいたします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-08-18T13:22:35+00:00

こんばんは、MukkuMukuです。

連結コントロールとして使った方が手数が少ないのでこうしてみたらどうだろうか。

Private Sub Webブラウザー0_DocumentComplete(ByVal pDisp As Object, URL As Variant)

    If URL <> "about:blank" Then

        pDisp.Document.write "<head>" & _

                                "<style type='text/css'>" & _

                                    "img {zoom:20%} " & _

                                    "body {margin:0; padding:0;}" & _

                                "</style>" & _

                             "</head>" & _

                             "<body>" & _

                                "<img src='" & URL & "'>" & _

                             "</body>"

    End If

End Sub

連結コントロールである場合、Currentイベント発生以降に about:blank  とコントロールソースのフィールド値へのナビゲートが自動で行われる。そこで、[DocumentComplete / ドキュメントの完了時]イベントで表示を書き換える算段。実体である IE は非同期で動作しますからこんな感じでよいかもと。

なお、DocumentComplete イベントプロシージャの引数 “URL” は、コントロールソースから得られる値から推測されたURLになるので、完全なURLをWebブラウザコントロールに渡してあげる必要があります。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

5 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-08-18T11:25:14+00:00

    MukkMuku さん、

    ReikoKです。ご返信ありがとうございます。

    >FileName というのは、レコードソースにあるフィールドでしょうか?

    はい、レコードソースにあるフィールドです。

    >Currentイベントを使用する理由はなんですか?

    フォームには一レコードずつ表示しているのですが、次のレコードが移動したとき

    その該当の画像が表示されるようにしたいために、Currentイベントを使用しました。

    これまでPCのドライブに画像を保存していたのですが、画像数が多くなり

    サーバー上で画像を保存したいと考えています。

    サーバー上の画像を参照するということでWebBrowerに挑戦している、、という状況です。

    >“参考”

    >Access2010のWebブラウザコントロールにはコントロールソースプロパティがあるので

    >IE を連結コントロールとして扱うことができるようになっています。

    連結コントロールとして扱う、という意味がようやく理解できました。ありがとうございます。

    連結コントロールとすることで、おかげさまで特にプロシジャーを書かなくても画像が表示されるようになりました。

    あとは、最初の質問に戻り、画像を縮小表示にすることができれば、、と思うのですが、

    下記のプロシジャーを書きましたが、やはり縮小表示がされません。

    画像は表示されているのですが、縮小されず、またエラーメッセージも出ない状況です。

    繰り返しの質問になりまことに申し訳ありませんが、理解違いしている点などご指摘いただけますと幸いです。 お手数をおかけして申し訳ありません。。 

    ------ 引用始まり -------

    Option Explicit

     Private Sub Form_Current()

            Dim objIE As Object

            Set objIE = Me.Webブラウザー300.Object

            objIE.Document.Write "<IMG scr= 'URL & [FileName] '  Style = 'Zoom:20%'>"

    End Sub

    ------引用終わり ----------

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-08-17T13:48:50+00:00

    MukkuMukuです。

    見たまんまのことでは、

    Form_Current() というイベントプロシージャがふたつ存在してしまっているからということでしょう。Option も変なところにあるようだし。

    Currentイベントを使用する理由はなんですか?

    FileName というのは、レコードソースにあるフィールドでしょうか?

    “参考”

    Access2010のWebブラウザコントロールにはコントロールソースプロパティがあるので、IE を連結コントロールとして扱うことができるようになっています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-08-16T13:02:21+00:00

                   

    Webブラウザコントロールの Object プロパティで実体である IE を参照したらよいんじゃないかと。

    例えば、

    Dim objIE As Object

    Set objIE = Me.Webブラウザー0.Object

    objIE.Document.Write "<IMG src='URL' style='zoom:20%'>"

    とか。もうひと手間ふた手間必要なのでしょうけど。

    MukkuMukuさん

    ご返信、アドバイスいただきまして、ありがとうございます。

    アドバイスを参考に下記のプロシジャーを追加してみましたところ

    「イベント プロパティに指定した式 レコード移動時 でエラーが発生しました。名前が適切ではありません」

    というエラー表示が現れました。

    --- 引用始まり ---

    Option Compare Database

    Private Sub Form_Current()

            WebBrowser7.Navigate "http://XXX & Me!FileName & ".JPG"

    End Sub

    Private Sub Form_Current()

    Option Explicit

            Dim objIE As Object

            Set objIE = WebBrowser7.Object

            objIE.Document.Write "<IMG scr= 'http://XXX" & Me!FileName & ".JPG" '  Style = 'Zoom:20%'>"

    End Sub

    --- 引用終わり ---

    知識が少なく、お恥ずかしいのですが、プロシジャーの書き方で誤っている部分が分かりません。エラーが解決する方法をご存じでしたらご教示いただけますと幸いです。

    たびたび申し訳ありませんが、よろしくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2012-08-15T16:40:46+00:00

    こんばんは、MukkuMukuです。

    Webブラウザコントロールの Object プロパティで実体である IE を参照したらよいんじゃないかと。

    例えば、

    Dim objIE As Object

    Set objIE = Me.Webブラウザー0.Object

    objIE.Document.Write "<IMG src='URL' style='zoom:20%'>"

    とか。もうひと手間ふた手間必要なのでしょうけど。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません