質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

742閲覧

Excel VBAでHTMLのDIVタグで囲まれているエリアのスクロールがしたい

uraringo

総合スコア15

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2019/04/23 08:25

Excel VBAでHTMLのDIVタグで囲まれているエリアのスクロールがしたい

Excel2016でIE11の画面のハードコピーを自動で取得するツールを作成しています。
画面が縦に長いのでVBAより画面をスクロールさせたいのですが
エラーが出てしまいます。

スクロールエリアはDIVタグで囲まれたエリアで
overflow:autoを指定しています。

どのような記述をすればスクロールさせることができるでしょうか?

発生している問題・エラーメッセージ

オブジェクトは、このプロパティまたはメソッドをサポートしていません。

該当のソースコード

VBA

1'この記述もエラー 2ie.document.getElementsByClassName("mainarea-scroll").ScrollTop IEScrollTop 3'この記述もエラー 4ie.document.getElementsByClassName("mainarea-scroll").scroll 0, IEScrollTop 5'この記述もエラー 6ie.document.getElementsByClassName("mainarea-scroll").ScrollTop = IEScrollTop

試したこと

上記すべて試しましたが、同じエラーとなります。
DIVタグのオブジェクトまでは取得できていることは確認できています。

補足情報(FW/ツールのバージョンなど)

Excel2016
IE11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

getElements系([s]付き = byID以外)は、
Collectionが返ってくるので、
そのまま使うことはできませんよ~

Collectionの中から、
適当な HtmlElement を抜き出してください。

ただ、それでもスクロールさせる事ができるかどうかは不明です。

Documentだったような気もしますので、
上記の方針でだめだったら、
IE.Document か、
FrameのDocument も
試してみてください~

投稿2019/04/23 09:13

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uraringo

2019/04/24 03:17 編集

ご指摘の通りでした。 ie.document.getElementsByClassName("mainarea-scroll")(0).ScrollTop = IEScrollTop で、スクロールすることができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問