この人頭いいなと思ったエピソード

エクセルVBAによりホームページ内のデータテーブル付属のスクロールバーを上下に動かしたいです。
例として下記ページに示します。
http://javascript123.seesaa.net/article/10306003 …

DevelopmentツールでDOM要素として指定できるか調べましたが、直接その要素を指定することはできず、どこに関連する記述があるのかが分かりませんでした。
まず、このスクロールバーについて記述がどこに対応するのか教えて頂きたいです。
また、VBA操作のヒントを教えて頂けたらと思います。

質問者からの補足コメント

  • Webブラウザのスクロールバーを動かしたいわけではないです。
    あくまでブラウザ内に、埋め込まれているテーブルのスクロールです。
    冒頭に示しているリンクを参照下さい。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/06/10 14:43

A 回答 (3件)

https://msdn.microsoft.com/en-us/library/aa75232 …
基底クラスの scrollIntoView メソッドぐらいしか無いのでは。
    • good
    • 1
この回答へのお礼

遅くなりました。
実際に教えて頂いた内容をようやく組み入れて動作させることができました。
大変ありがとうございました。

お礼日時:2017/08/23 18:56

冒頭のリンクを見ました。


やはり埋め込まれたテーブル(オブジェクト)のスクロールバーですよね。
(Webブラウザのスクロールバーではなく)
テーブル(オブジェクト)を変数に取得
Dim wHoge as Object
Set wHoge = テーブルオブジェクト
VBエディタの表示からローカルウィンドウを出し、
スクロールプロパティがあるかを探すのがよいでしょう。
wHoge にスクロールプロパティがあればよいのですが、
無ければまた別の方法を考えないといけないですよね。
ちょっと難しいかもしれませんが。
    • good
    • 0
この回答へのお礼

返信遅くなりました。
教えて頂いた内容を調べてみましたが、今回はスクロールプロパティがでてきませんでした。
kumatti_1さん案を採用でなんとか実現できました。
大変ありがとうございました。

お礼日時:2017/08/23 18:57

ほほー。

同じ事を考える方がおられるんですね。
私の場合はWebブラウザコンポーネントを貼って、そのオブジェクトでスクロールバーを操作したので、こうなりました。
あるホームページを最初から(開いた時に既に)スクロールの上から3分の2の所を表示したかったのです。
エクセルでWebの操作をするのはそれなりに難しいと思いますが、
がんばってみてください。
Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
WebBrowser1.Document.ParentWindow.scrollTo 0, 370 '祝スクロールアップ成功
End Sub
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
補足に加えましたが、Webブラウザーの端にあるスクロールバーのコントロールを目的としたご回答でしょうか?
それだと少し目的が異なります。ブラウザに表示されているテーブルに配置されたスクロールバーを上下コントロールしたいです。
それでもこの記述がヒントになるでしょうか?
宜しくお願い致します。

お礼日時:2017/06/10 14:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報