回答編集履歴
1
追記
test
CHANGED
@@ -3,3 +3,25 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
画面移動を許容しつつ、特定の位置に表示するなら、フォームの「[TimerInterval](https://support.microsoft.com/ja-jp/office/-timerinterval-%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC%E9%96%93%E9%9A%94-%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3-9732dbbb-3f6f-4eb7-995d-b695f3d9d4b8)」を設定し、一定間隔で、特定の表示位置に[DoCmd.MoveSize](https://docs.microsoft.com/ja-jp/office/vba/api/access.docmd.movesize)で移動する方法が考えられます。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
> 画面は移動出来たままにしたいです
|
10
|
+
|
11
|
+
> timerintervalも考えましたがフォームが画面外に出た時のみに位置の修正が入るようにしたいんです。
|
12
|
+
|
13
|
+
> 画面内であれば場所はどこにでも置いてても良いけど、隠すのはダメ、という感じが良くて。。
|
14
|
+
|
15
|
+
> フォームが移動された時などに、位置を取得→指定した範囲より外に出た場合にエラーを出して画面内に強制的に移動させる というのは厳しいでしょうか。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
フォームにLocationChangedやMoveイベントがあればいいのですが無さそうなので、タイマーで監視するしかない気がします。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
現在位置の取得は、以下辺りを参考に。(エクセルフォームですけど、違いはハンドルだけだと思います)
|
24
|
+
|
25
|
+
[指定したウィンドウの位置、サイズを取得する](https://www.moug.net/tech/acvba/0020032.html)
|
26
|
+
|
27
|
+
[ユーザーフォーム表示位置の制御](http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_120.html)
|