Accessのウインドウサイズの固定について回答お願いします。
Accessファイルを開いたときに、メインメニューのフォームが開くのですが、これのオープンイベントにウインドウサイズの変更を入れたいと思っています。
Windows Apiというものを呼び出すコードをモジュールにも記入すると思うのですが、よく分からず困っています。
変更したいのは、ウインドウサイズのみなので、位置は必要ありません。
出来れば、高さや下位置等の数字を任意に変更すれば使えるコードを教えてもらえれば有難いです。
後、メインメニューのオープンイベントにサイズ倍率を変更するコード
Private Sub Form_Open(Cancel As Integer)
FormSizeChange Me, 0.9
End Sub
がすでに入っていますのでこれに追加していただきたいです。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こちらをどうぞ。
『Accessウィンドウの位置や大きさを取得・変更する』
http://www.happy2-island.com/access/gogo03/capte …
説明も分かりやすいと思います。
「サンプルダウンロード」にファイルも用意されてます。
あとは
MoveWindow Application.hWndAccessApp, 10, 50, 900, 800, True
などと追加するだけです。
No.2
- 回答日時:
前回回答のリンク先の「リスト 2」に
GetWindowRect Application.hWndAccessApp, rctSize
とあります。
Application.hWndAccessApp でAccessのハンドルを指定していますので
ここをデスクトップにします。
サンプルファイルのsample2007(かな?)の標準モジュールModule1に
下記1行を追加します。
Public Declare Function GetDesktopWindow Lib "user32" () As Long
フォームのオープン時には
Private Sub Form_Open(Cancel As Integer)
Dim rctSize As RECT
Dim hWnd As Long
Dim retVal As Long
Dim mWidth as long,mHeight as long
hWnd = GetDesktopWindow()
retVal = GetWindowRect(hWnd, rctSize)
mWidth = rctsize.right
mHeight = rctsize.bottom
msgbox mwidth & "-" & mHeight
MoveWindow Application.hWndAccessApp, 10, 50, 900, 800, True
End Sub
でモニターの左右・天地が分かりますので計算して
MoveWindowで指定すれば良いです。
ついでの継ぎ足しは・・・止めましょね。
マナーに欠けるということで嫌われます。
PS.
複数モニターを使用している場合は不明です。
あとユーザーによっては
「端に置きたいのに何故いつもど真ん中に?邪魔!」という場合もあり。
私からは以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
起動時のフォームの大きさ?
Access(アクセス)
-
Accessのフォームで開く時のウィンドウサイズを指定する
Access(アクセス)
-
ACCESS フォームのサイズ調整
サーバー
-
-
4
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
7
アクセスVBAのMe!と[ ]
Access(アクセス)
-
8
Access ウィンドウサイズの変更
その他(データベース)
-
9
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
10
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
11
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
12
フォームの高さを数値で指定したいのですが
Excel(エクセル)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
15
YES/NO型の値
Excel(エクセル)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
18
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
19
このオブジェクトに値を代入することはできません
その他(データベース)
-
20
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excel マクロ PDF化の際のエラ...
-
複数のワークブックのVBAを変更...
-
動かなくなってしまった古いVBA...
-
エクセルのVBAで開いている...
-
AccessからOLEオブジェクト型の...
-
ffftpでファイル取得が0バイト...
-
VBAでフォルダ内のhtmlファイル...
-
【VBAマクロ初心者】Excel VBA...
-
vbaサブフォルダーをワイルドカ...
-
【ACCESS VBA】アクセスからデ...
-
ACTIVEXの拡張子
-
VBA ファイル名取得
-
VBAでCSVファイルを読み込もう...
-
Long型で表現できないファイル...
-
サブフォルダ含むフォルダ内の...
-
FileDialog オブジェクトでファ...
-
「エクセルファイルが開いてい...
-
FTP対応のアプリケーション
-
EXCEL VBA tif画像のプロパティ...
-
VB.net XMLの作成方法 Iniの代替
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
ffftpでファイル取得が0バイト...
-
動かなくなってしまった古いVBA...
-
excel マクロ PDF化の際のエラ...
-
VBからExcelファイルを開くとき...
-
「エクセルファイルが開いてい...
-
VBAでフォルダ内のhtmlファイル...
-
複数のワークブックのVBAを変更...
-
ExcelVBA 文字コード変換
-
Wordのプロパティ・総ページ数...
-
「AccessViolationException」...
-
AccessからOLEオブジェクト型の...
-
エクセルのVBAで開いている...
-
VBAで色々な種類のファイルを開く
-
VBAでCSVファイルを読み込もう...
-
VB.net XMLの作成方法 Iniの代替
-
【ACCESS VBA】アクセスからデ...
-
VBA、ファイル名検索から開く、...
おすすめ情報
有難うございます。
質問の継ぎ足しなのですが、10, 50, 900, 800 の位置とサイズの指定をオープンイベントに記入し無事に出来たのですが、この【10, 50】のウインドウ位置をコードから無くしてフリーで位置調整出来るようにしたいのですが可能でしょうか?
運用する際に、モニターサイズが違うパソコンがあるので、画面の小さいパソコン基準で画面サイズを指定し、大画面のパソコンではその指定したサイズで表示し画面をモニターのセンターに手動で持っていきたいので。
よろしくお願いします。