質問編集履歴

1

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

2021/12/27 06:41

投稿

D0NKAMA
D0NKAMA

スコア28

test CHANGED
File without changes
test CHANGED
@@ -32,23 +32,63 @@
32
32
 
33
33
  ```VBA
34
34
 
35
+ 'UserForm
36
+
35
37
  Private Sub UserForm_Initialize()
36
38
 
37
- Public Const FORMSIZE_RATIO As Double = 0.7 ' フォームのサイズ割合
39
+ Dim originSize
38
40
 
39
-  ' 「Me.Zoom」行コメントにすると一定で表示される
41
+ ' 今の画面サイズ記憶
40
42
 
41
- Me.Zoom = Me.Zoom * ((Application.Height * FORMSIZE_RATIO) / Form.Height)
43
+ originSize = Application.WindowState
42
44
 
43
- Me.Width = Me.Width * ((Application.Height * FORMSIZE_RATIO) / Form.Height)
45
+ ' 画面拡大
44
46
 
47
+ Application.WindowState = xlMaximized
48
+
49
+
50
+
51
+ ' フォームサイズ設定
52
+
53
+ Me.Zoom = SizeChange(Me.Zoom)
54
+
55
+ Me.Width = SizeChange(Me.Width)
56
+
57
+ Me.Height = SizeChange(Me.Height)
58
+
59
+
60
+
61
+ ' 画面縮小
62
+
45
- Me.Height = Me.Height * ((Application.Height * FORMSIZE_RATIO) / Form.Height)
63
+ If originSize = xlNormal Then Application.WindowState = xlNormal
46
64
 
47
65
  End Sub
48
66
 
49
67
  ```
50
68
 
69
+ ```VBA
51
70
 
71
+ 'InputAssistModule
72
+
73
+ ' ディスプレイ解像度によってフォームのサイズを変更処理
74
+
75
+ Function SizeChange(value As Double) As Double
76
+
77
+ SizeChange = value * ((Application.Height * FORMSIZE_RATIO) / UserForm.Height)
78
+
79
+ End Function
80
+
81
+ ```
82
+
83
+ ```VBA
84
+
85
+ 'ConstModule
86
+
87
+ Public Const FORMSIZE_RATIO As Double = 0.7 ' フォームのサイズ割合
88
+
89
+ ```
90
+
91
+ それぞれ別のモジュールに記載しています。
52
92
 
53
93
  ### 補足情報(FW/ツールのバージョンなど)
54
94