• ベストアンサー

ユーザーフォームの配置について

本を見ながらユーザーフォームを作ってみました。 Showメソッドで表示させると、ページの真ん中に表示されドラッグでいちいち動かさないといけなくなります。 最初からページ中央より2cmほど画面に向かって右にずれた位置に表示させたいのですが方法をご存知でしたら教えていただけないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

プロパティ画面でStartUpPositionを0 Manualにして LeftとTopを好きな値に設定すればよいのでは? (Win98+Excel97VBA)

noname#121624
質問者

お礼

うまくできました! VBAをはじめたばかりなので、わからない事ばかりです。 プロバティ画面でこんな設定ができるとは……。 勉強になりました。

その他の回答 (2)

  • Chika-F
  • ベストアンサー率60% (6/10)
回答No.2

こんにちは。Chika-Fです。 追加レスです。 上記で何気なく書いたのですが(苦笑) Form_Load時に Form1.Left の値を変数に 取得しておいた方が良いでしょう。 そうしないとフォーカスを失った後に 再度フォーカスした時、現在の位置より 更に右に移動してしまいます。 Public posLeft As Integer Private Sub Form_Load()  posLeft = Form1.Left End Sub Private Sub Form_GotFocus()  Form1.Left = posLeft + 2000 End Sub

noname#121624
質問者

お礼

教えていただいた方法を実行してみました。 思っていた通りにできました。 本当にありがとうございました。

  • Chika-F
  • ベストアンサー率60% (6/10)
回答No.1

こんにちは。Chika-Fです。 Form_GotFocus時に FormObject.Move を使用して 移動させたら如何でしょうか。 簡単な説明ですが分かりますか? 例えば、 デフォルトの表示位置を「画面中央」に設定します。 Private Sub Form_GotFocus()   From1.Move Form1.Left + 2000 END Sub