当前位置: 代码迷 >> VBA >> Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long,该如何解决
  详细解决方案

Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long,该如何解决

热度:7788   发布时间:2013-02-26 00:00:00.0
Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long
我在Word建了一个按钮,按钮中放了如下代码,总出错,说什么:
End Sub, End Function或End属性后面只能出现注释。
我看了又看,没有啊,晕死啊。这是所有的代码了。
出错行在下面标红了,我把这行拿到最前,也是出错(Declare 不能做为模块的公共成员),它倒底想呆在哪儿啊?

Private Sub CommandButton1_Click()
Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long
Const SM_CYSCREEN As Long = 1 '屏幕高度
ScreenHeight = GetSystemMetrics(SM_CYSCREEN)
MsgBox (ScreenWidth)
End Sub
------解决方案--------------------------------------------------------
引用:
引用:
Declare Function 明显是API函数啊,怎么能把其声明写在SUB中呢。声明一般来讲写在模块起始,然后在SUB中调用函数即可。

你所说的“写在模块起始”不就是指在Private sub前么?Word中也没有独立的模块文件啊,有的话怎么进啊?


当然是要写在Private Sub CommandButton1_Click()之前了。对于控件我们叫它事件,但其实它不就是一个模块吗
------解决方案--------------------------------------------------------
ChoasRules说的对。

Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long
需要写在模块的最前面。
  相关解决方案