teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

該当のソースコードが見づらかったので編集した。

2021/12/27 06:41

投稿

D0NKAMA
D0NKAMA

スコア28

title CHANGED
File without changes
body CHANGED
@@ -15,15 +15,35 @@
15
15
  ### 該当のソースコード
16
16
 
17
17
  ```VBA
18
+ 'UserForm
18
19
  Private Sub UserForm_Initialize()
20
+ Dim originSize
21
+ ' 今の画面サイズを記憶
22
+ originSize = Application.WindowState
23
+ ' 画面拡大
19
- Public Const FORMSIZE_RATIO As Double = 0.7 ' フォームのサイズ割合
24
+ Application.WindowState = xlMaximized
25
+
26
+ ' フォームサイズ設定
20
-  ' Me.Zoom」行をコメントにすると一定で表示される
27
+ Me.Zoom = SizeChange(Me.Zoom)
28
+ Me.Width = SizeChange(Me.Width)
21
- Me.Zoom = Me.Zoom * ((Application.Height * FORMSIZE_RATIO) / Form.Height)
29
+ Me.Height = SizeChange(Me.Height)
30
+
22
- Me.Width = Me.Width * ((Application.Height * FORMSIZE_RATIO) / Form.Height)
31
+ ' 画面縮小
23
- Me.Height = Me.Height * ((Application.Height * FORMSIZE_RATIO) / Form.Height)
32
+ If originSize = xlNormal Then Application.WindowState = xlNormal
24
33
  End Sub
25
34
  ```
26
-
35
+ ```VBA
36
+ 'InputAssistModule
37
+ ' ディスプレイ解像度によってフォームのサイズを変更処理
38
+ Function SizeChange(value As Double) As Double
39
+ SizeChange = value * ((Application.Height * FORMSIZE_RATIO) / UserForm.Height)
40
+ End Function
41
+ ```
42
+ ```VBA
43
+ 'ConstModule
44
+ Public Const FORMSIZE_RATIO As Double = 0.7 ' フォームのサイズ割合
45
+ ```
46
+ それぞれ別のモジュールに記載しています。
27
47
  ### 補足情報(FW/ツールのバージョンなど)
28
48
  Excel 2019
29
49
  Windows 10