home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2009/01/05/ExcelVBAでUserFormをリサイズ可能にする方法 (v1)

日記/2009/01/05/ExcelVBAでUserFormをリサイズ可能にする方法 (v1)

日記 / 2009 / 01 / 05 / ExcelVBAでUserFormをリサイズ可能にする方法 (v1)
id: 145 所有者: msakamoto-sf    作成日: 2009-01-05 15:07:01
カテゴリ: Windows 

お手伝いで調査を頼まれて、無事見つかったのでメモ。

ExcelのVBAでUserFormを表示しているのだけれど、リサイズできなくて困ってるとのこと。
→Win32APIで解決。

・「エクセルでフォームを自在に作る方法」
http://questionbox.jp.msn.com/qa1258692.html

・「【36270】画面サイズ変更を実現させるには?」
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=36270;id=excel

・「UserForm Resize」
http://www.xtremevbtalk.com/archive/index.php/t-196301.html

基本的な流れは、

  1. FindWindow()/GetActiveWindow()でUserFormのウインドウハンドルを取得。
  2. GetWindowLong(hWnd, GWL_STYLE)でウインドウのスタイルを取得。
  3. 上で取得した値に、WS_THICKFRAMEをORしてSetWindowLongする。

ここまでできれば、UserForm_Resize()のイベントハンドラで色々好きなように調整できるようになります。


プレーンテキスト形式でダウンロード
表示中のバージョン : 1
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2009-01-05 15:24:57
md5:122b5b8e4732f8d4bd4742169408f2ef
sha1:6c6ff7fb72c33691b6fdefcce71dc5d72868702e
コメント
コメントを投稿するにはログインして下さい。