• ベストアンサー

スクロールバーの操作(?)

いつもお世話になっています。 Excel2000VBAで、フォーム上にListViewコントロールを使用して、あるデータを表示しています。 Timerでカウントをとり、10秒毎に上から順に反転(選択状態)するプログラムを作成しました。 ここまではよいのですが、例えばリストのデータが50項目あった時に、画面上では10項目しか表示できない(高さの関係で)場合、上記プログラムだと11項目目から、ListViewの高さを越えてしまう為、隠れてしまいます。(スクロールバーを手動で下げれば見える) そこでご質問なのですが、スクロールバーをプログラム上から操作することは可能なのでしょうか? ListView以外のコントロールでもAPIでも構いません。 どなたかご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

リストアイテム.EnsureVisible()メソッドで可能です。 同じ質問が過去に存在しています。 http://okwave.jp/kotaeru.php3?q=222732

kyo----
質問者

お礼

1050YENさん! お返事ありがとうございました!! おっしゃるとおり、EnsureVisible()メソッドで 全て解決いたしました! 本当にありがとうございました!!

その他の回答 (1)

回答No.1

>ListView以外のコントロールでもAPIでも構いません。 とのことで・・ListBoxですが。。 Private Sub CommandButton1_Click() ListBox1.AddItem "A" ListBox1.ListIndex = ListBox1.ListCount - 1 End Sub とすると、CommandButton1をクリックするたびに自動的にListBox1の最終行が選択され、連打するとスクロールバーも自動的にスクロールしていきます。 ListViewは使ったことないのですが、同じようにListIndexや、Indexプロパティに、ListCountやListItems.Countなどの値をうまく使えばできるのではないでしょうか・・。 プロパティについては確信がありませんが。。 ご健闘をお祈りしております。

kyo----
質問者

お礼

haniwannkoさん! お返事が遅くなり誠に申し訳ございませんでした! 色々と参考になる情報ありがとうございます。 上記の方法で一度やってみようとおもいます。 本当にありがとうございました!

関連するQ&A