Formの表示位置を制御

Top / Coding / VBA / Excel / Formの表示位置を制御
 

ページ構成
−Top
  • −Coding
    • +.NET
    • +CUDA
    • +JavaScript
    • +MSOffice
    • +PHP
    • +PowerShell
    • +Python
    • +Ruby
    • −VBA
      • ・.NETFrameworkの使用
      • ・COMコンポーネントの使用
      • ・Closeメソッド
      • −Excel
        • ・Addinの作り方
        • ・Formの表示位置を制御
        • ・Outlookと連携してメール作成・送信
        • ・SQLite
        • ・Wordを操作する
        • ・ソースコードの管理
        • ・共有の解除
      • ・FileSystemObject
      • ・Framework
      • ・GitHubで公開されているコード一覧
      • +IEの操作
      • ・INIファイルの読み書き
      • ・MACアドレスの取得
      • +Outlook
      • ・PowerPoint
      • +SelenuimVBA
      • ・SendKeys、SendInput
      • ・TemplateEngine
      • ・VBA7
      • +Word
      • ・Word参考記事
      • ・ウィンドウをアクティブに
      • ・オートコレクト
      • ・クリップボードの操作
      • ・タスクの終了
      • ・ドキュメント自動生成
      • ・ハッシュを求める
      • ・ヒアドキュメントの実現
      • ・メールの作成
      • +ユニットテスト
      • ・一歩前へ
      • ・開発者
      • ・公開されているクラス一覧
      • ・人に説明するとき用のメモ
      • ・正規表現
    • +misc
    • +画像処理
  • +Server
  • +memo
  • +misc
  • +カメラ
  • +科学技術
  • +記事
  • +数値解析
最新の10件
2018-01-16 更新
  • misc/Hardware/各種プロセッサの倍精度演算性能
2017-11-27 更新
  • Coding/misc/raspberrypi
2017-11-02 更新
  • Coding/.NET/NuGetパッケージの作成
2017-10-19 更新
  • Coding/MSOffice/VSTO/ThisAddin_Startupに処理を書く問題が起きる
2017-06-16 更新
  • Coding/.NET/VisualStudioビルドイベント
2017-05-28 更新
  • misc/Hardware/タブレット向けCPU/複製
2017-05-25 更新
  • Coding/Python/CloudVision
2017-05-24 更新
  • misc/ロードバイク/サイクルロード/奈良
2017-05-11 更新
  • misc/ソフトウェア/文章/文章校正、作成支援ツール
2017-03-15 更新
  • misc/ソフトウェア/プロジェクト管理ツール

Powered By

b_pukiwiki.official.png

edit

目次関連するページ
  • 概要
  • 最初に
    • UserFormの表示(.Showをコールする)前に
    • UserFormの表示位置の設定
    • 用語
  • 各種座標・サイズの取得方法
    • Excelウィンドウ
    • エクセル内のウインドウ領域のサイズ
    • アクティブウィンドウ関係
      • 位置・サイズ
      • スクリーン座標変換
    • セル
      • 座標
      • スクリーン座標
  • 参考資料
  • Coding/VBA/Excel
  • Coding/VBA/Excel/Addin/Toolbarの作成
  • Coding/VBA/Excel/Addin/Toolbarの作成/FaceIDの一覧
  • Coding/VBA/Excel/Addin/右クリックメニューの拡張
  • Coding/VBA/Excel/Addinの作り方
  • Coding/VBA/Excel/Formの表示位置を制御
  • Coding/VBA/Excel/Outlookと連携してメール作成・送信
  • Coding/VBA/Excel/SQLite
  • Coding/VBA/Excel/Wordを操作する
  • Coding/VBA/Excel/ソースコードの管理
  • Coding/VBA/Excel/共有の解除

概要 †

VBAのUserFormを任意の位置に表示するための方法について調べた。

↑

最初に †

↑

UserFormの表示(.Showをコールする)前に †

UserFormの表示位置は、デフォルトでは、自動的に決定される。
任意の位置に配置したい場合には、下記の設定を行う。

UserForm.StartUpPosition = 0
↑

UserFormの表示位置の設定 †

UserForm.Top
UserForm.Left

スクリーン座標を指定することに注意

↑

用語 †

  • スクリーン座標:
    • プライマリ画面左上端(角)からの座標
    • (※マルチディスプレイの場合、マイナスの値もとる)
  • 以下、本ページ独自の呼び方
  • Excelウィンドウ
    • Windowsにおける、一般的なウィンドウ(ここでは、Excelのウィンドウのことを指す)
  • エクセル内のウィンドウ
    • エクセル内で表示されるウィンドウ
  • ウィンドウ領域
    • エクセル内のウィンドウを表示する領域のこと(Excelウィンドウのサイズからツールバーなどの領域分を引いた残り)
    • 下部にツールバーをおいてる可能性に注意
↑

各種座標・サイズの取得方法 †

↑

Excelウィンドウ †

Application.Top
Application.Left
Application.Width
Application.Height

座標は、スクリーン座標
単位は "point"

8.7 エクセルウィンドウのサイズ変更

  • http://www.happy2-island.com/excelsmile/smile03/capter00807.shtml
↑

エクセル内のウインドウ領域のサイズ †

Application.UsableHeight

エクセル内のウインドウ領域(ツールバー部分を除く領域)の高さを取得

Application.UsableWidth

エクセル内のウインドウ領域の幅を取得

↑

アクティブウィンドウ関係 †

↑

位置・サイズ †

ActiveWindow.Top
ActiveWindow.Left
ActiveWindow.Width
ActiveWindow.Height

位置は、ウィンドウ領域左上からの距離 (単位は "point" )
※ Excel内でのウィンドウを最大化しているときはマイナスが入ることに注意

サイズも(単位は "point" )

3.7 ワークブックのサイズ変更

  • http://www.happy2-island.com/excelsmile/smile03/capter00307.shtml
↑

スクリーン座標変換 †

ActiveWindow.PointsToScreenPixelsX(0)
ActiveWindow.PointsToScreenPixelsY(0)

Excel内のウィンドウの位置をスクリーン座標で取得

エクセルExcel大事典 VBAマクロ応用講座 スクリーン座標 ポイント ピクセル PointsToScreenPixels

  • http://home.att.ne.jp/zeta/gen/excel/c04p06.htm
  • 基本的な使い方
  • 画面分割時の問題、マルチモニタ使用時の問題は考慮外

Excelで、マウスの動きに合わせて図形を作成するVBAを組もうとして - BIGLOBEなんでも相談室

  • http://soudan1.biglobe.ne.jp/qa5821742.html
  • 上「PointsToScreenPixels」関数に関するメモ
    • 横方向に画面分割を行うと、PointsToScreenPixelsXの値が変化
    • 縦方向に画面分割を行うと、PointsToScreenPixelsYの値が変化
↑

セル †

↑

座標 †

Range("**").Top
Range("**").Left

A1セルの左上からの距離 (単位はおそらくポイント)

↑

スクリーン座標 †

CellScreenPos関数

  • http://hp.vector.co.jp/authors/VA016119/excel/personal.html
  • 画面分割時の問題などにも対応
  • 使いやすいのでオススメ
↑

参考資料 †

『ユーザーフォームの表示位置』(きんじ) エクセル Excel [エクセルの学校]

  • http://www.excel.studio-kazu.jp/kw/20050221114734.html
  • あまり参考にならない
  • 限定: ウィンドウは最大化している

エクセルVBAマクロ - ウインドウの操作 - ウインドウの表示位置とサイズ

  • http://www.excel-vba.net/excel-window-005.html
  • ウィンドウ領域のサイズについて

Excel質問掲示板(VBA) [Re[9]: ユーザーフォーム表示位置について]

  • http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi?mode=al2&namber=28718&rev=&no=0&P=R&KLOG=185
  • Excelの使用形態(ツールバーの位置など)に依存するコード

ActiveWindow.PointsToScreenPixels

  • http://home.att.ne.jp/zeta/gen/excel/c04p06.htm
  • ActiveWindow.PointsToScreenPixelsについて

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索   ヘルプ   最終更新のRSS
Last-modified: 2012-04-06 (金) (2803d)
Site admin: D*isuke YAMAKAWA

PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.3.29. HTML convert time: 0.061 sec.