
Accessのウインドウサイズの固定について回答お願いします。
Accessファイルを開いたときに、メインメニューのフォームが開くのですが、これのオープンイベントにウインドウサイズの変更を入れたいと思っています。
Windows Apiというものを呼び出すコードをモジュールにも記入すると思うのですが、よく分からず困っています。
変更したいのは、ウインドウサイズのみなので、位置は必要ありません。
出来れば、高さや下位置等の数字を任意に変更すれば使えるコードを教えてもらえれば有難いです。
後、メインメニューのオープンイベントにサイズ倍率を変更するコード
Private Sub Form_Open(Cancel As Integer)
FormSizeChange Me, 0.9
End Sub
がすでに入っていますのでこれに追加していただきたいです。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
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.
複数モニターを使用している場合は不明です。
あとユーザーによっては
「端に置きたいのに何故いつもど真ん中に?邪魔!」という場合もあり。
私からは以上です。
No.1
- 回答日時:
こちらをどうぞ。
『Accessウィンドウの位置や大きさを取得・変更する』
http://www.happy2-island.com/access/gogo03/capte …
説明も分かりやすいと思います。
「サンプルダウンロード」にファイルも用意されてます。
あとは
MoveWindow Application.hWndAccessApp, 10, 50, 900, 800, True
などと追加するだけです。
お探しの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も見ています
-
Accessのフォームで開く時のウィンドウサイズを指定する
Access(アクセス)
-
起動時のフォームの大きさ?
Access(アクセス)
-
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
-
4
新規レコード行を非表示にしたい
Access(アクセス)
-
5
フォームのサイズが指定した値にならない
Excel(エクセル)
-
6
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
7
ACCESSでfilterとorderbyについて
その他(データベース)
-
8
ACCESS フォームのサイズ調整
サーバー
-
9
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
10
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
11
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
Access ウィンドウサイズの変更
その他(データベース)
-
14
フォームの高さを数値で指定したいのですが
Excel(エクセル)
-
15
Accessのコマンドボタンの立体化について
Access(アクセス)
-
16
角丸四角形を描きたい
Excel(エクセル)
-
17
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
18
Access 起動時、ウィンドウを最大化したいです
Access(アクセス)
-
19
Accessのフォームのみ表示させたい
Access(アクセス)
-
20
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの初心者でやりたいことがあ...
-
VBAでCSVファイルを読み込もう...
-
更新日が指定日以降のファイル取得
-
動かなくなってしまった古いVBA...
-
複数のワークブックのVBAを変更...
-
ffftpでファイル取得が0バイト...
-
フォルダ階層・ファイル名・ペ...
-
VBAでフォルダ内のhtmlファイル...
-
c# で作成したアプリをある拡張...
-
フォルダ内のファイルを上から...
-
【VBAマクロ初心者】Excel VBA...
-
VB.net XMLの作成方法 Iniの代替
-
VB.Netソリューションでフォー...
-
excel マクロ PDF化の際のエラ...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
カンマ区切りのCSVファイルから...
-
エクセルで複数のコメントのサ...
-
VPN経由でExcelを開くのが遅い
-
バイナリファイルの一部分をカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動かなくなってしまった古いVBA...
-
「エクセルファイルが開いてい...
-
FileDialog オブジェクトでファ...
-
VBAでフォルダ内のhtmlファイル...
-
VB6でUTF-8ファイルの読取りを
-
vbaサブフォルダーをワイルドカ...
-
webブラウザからローカルファイ...
-
ffftpでファイル取得が0バイト...
-
サブフォルダ含むフォルダ内の...
-
ファイルを複数選択した時のフ...
-
VBAでCSVファイルを読み込もう...
-
複数のワークブックのVBAを変更...
-
excel マクロ PDF化の際のエラ...
-
Wordのプロパティ・総ページ数...
-
フォルダ階層・ファイル名・ペ...
-
フォルダ内のファイル存在監視...
-
VB.net XMLの作成方法 Iniの代替
-
AccessからOLEオブジェクト型の...
-
【ACCESS VBA】アクセスからデ...
-
vbs ブック共有を解除
おすすめ情報
有難うございます。
質問の継ぎ足しなのですが、10, 50, 900, 800 の位置とサイズの指定をオープンイベントに記入し無事に出来たのですが、この【10, 50】のウインドウ位置をコードから無くしてフリーで位置調整出来るようにしたいのですが可能でしょうか?
運用する際に、モニターサイズが違うパソコンがあるので、画面の小さいパソコン基準で画面サイズを指定し、大画面のパソコンではその指定したサイズで表示し画面をモニターのセンターに手動で持っていきたいので。
よろしくお願いします。