0
関数は機能し、画面解像度を取得します。しかし、私がsub fun_xに戻そうとすると、fun_yが空に戻ります。どうして?関数がスクリーンのRes値を返さない
Private Sub Form_Open(Cancel As Integer)
Dim sub_x As Long, sub_y As Long
ScreenRes fun_x:=sub_x, fun_y:=sub_y
Debug.Print sub_x, sub_y, fun_x, fun_y
End Sub
モジュール名:あなたは関数の引数ByVal
(UE)を通過してきた
Option Compare Database
Declare Function GetSystemMetrics32 Lib "User32" _
Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Function ScreenRes(ByVal fun_x As Long, ByVal fun_y As Long)
fun_x = GetSystemMetrics32(0) ' width in points
fun_y = GetSystemMetrics32(1) ' height in points
End Function
それはうまくいったが、私はその理由を理解していない。私はその違いについていくつかの読書をする必要があると思う。 – Kaw4Life
私は単純な例を追加しました、今はより明確になることを願っています;) – guihuy
それをまとめる時間をとっていただきありがとうございます。方法よりもむしろWHYを理解するのに非常に役立ちます。 – Kaw4Life