• ベストアンサー

スクロールバーをVBAで操作したい

エクセルの場合は、 Sub Macro1() ActiveWindow.SmallScroll Down:=100 End Sub でスクロールバーの位置をVBAで設定できますが アクセスのフォームのスクロール倍の位置をVBAで設定することは可能でしょうか?

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

> アクセスのフォームのスクロール倍の位置をVBAで設定 Accessの場合、残念ながらスクロールバーについては表示/非表示を 切り替えるプロパティぐらいしかありません。 ですので、代替策として「『改ページ』コントロールの追加」を提案します。 (「SmallScrollメソッドの引数で位置指定」をする代わりに、  フォームのGotoPageメソッドで移動先を指定します) 『改ページ』コントロールについては、下記のQ&Aでnicotinismさんが ご紹介しているサイトがわかりやすいかと思います: 【Q&A】 http://okwave.jp/qa/q7528843.html 【紹介URL】 http://www.tsware.jp/tips/tips_026.htm

AZGLMMFHTI
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

限定した条件下のことしか回答できませんが・・・・ 条件)単票で詳細しかないフォームが対象 また、以下は表示位置をずらすことでスクロールバーが移動する・・・動きとなってます。 詳細の高さを 20 cm で作成したとします。 フォームを起動して、表示されている高さを 5 cm と仮定します。 この場合、スクロールバーは 0 ~ 15 cm 分移動できるようになっていると思います。 数値化すると 0 ~ 8505( 567*15 )の範囲になります。 DoCmd.GoToPage 1, , 0 ~ 8505 で移動できると思います。範囲を超えた場合は、超えた方の隅に移動するようです。 上から 1 cm のところなら DoCmd.GoToPage 1, , 567 上から 10 cm のところなら DoCmd.GoToPage 1, , 5670 なお、DoCmd.GoToPage は Me.GoToPage の方が良いとかなんとか・・・ヘルプを見てください。 ※ 実際には 567 の倍数ではなく +α が必要かも DoCmd.GoToPage 1, , 567+α DoCmd.GoToPage 1, , 5670+α αは、-6 とか -12 とか -15 とか・・・・・ 指定する値は 567 の倍数に限定されません。 ただ、デザインでいろいろ配置していくと cm に合わせることが多いのかな・・・ 1 cm のつもりで 567 指定しても綺麗に枠線表示されるかな・・・・ この辺りは、実際にやってみての調整の範囲と思います。

AZGLMMFHTI
質問者

お礼

ご回答ありがとうございます。

関連するQ&A