简体   繁体   English

这个消息在vba中是什么意思?

[英]What does this message mean in vba?

在此处输入图像描述 I recently have changed my windows and now when i run my vba code i get the following message:我最近更改了我的窗口,现在当我运行我的 vba 代码时,我收到以下消息:

 'Place this code in a Module
 
Private Declare Function FindWindowA Lib "USER32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLongA Lib "USER32" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "USER32" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

anyone can help me how to solve this problem?任何人都可以帮助我如何解决这个问题? thanks.谢谢。

You should add a precompile If statement to work with Win 32 and 64.您应该添加一个预编译 If 语句以使用 Win 32 和 64。

The code below will make this work in Windows 32 and 64 bit systems.下面的代码将使其在 Windows 32 和 64 位系统中工作。

Option Explicit
#If Win64 Then
    Private Declare PtrSafe Function FindWindowA Lib "USER32" _
        (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
    
    Private Declare PtrSafe Function GetWindowLongA Lib "USER32" _
        (ByVal hWnd As Long, _
        ByVal nIndex As Long) As Long
    
    Private Declare PtrSafe Function SetWindowLongA Lib "USER32" _
        (ByVal hWnd As Long, _
        ByVal nIndex As Long, _
        ByVal dwNewLong As Long) As Long
#Else
    Private Declare Function FindWindowA Lib "USER32" _
        (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
    
    Private Declare Function GetWindowLongA Lib "USER32" _
        (ByVal hWnd As Long, _
        ByVal nIndex As Long) As Long
    
    Private Declare Function SetWindowLongA Lib "USER32" _
        (ByVal hWnd As Long, _
        ByVal nIndex As Long, _
        ByVal dwNewLong As Long) As Long
#End If

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM