VBA AddressOf Crash Office 应用程序

标签 vba ms-access excel addressof

我想运行一个简单的代码段,但每次 Access 和 Excel 都会崩溃。

我正在运行 CallbackTest2,你能帮帮我吗?谢谢分配。

Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" ( _
      ByVal lpPrevWndFunc As Long, _
      ByVal hwnd As Long, _
      ByVal msg As Long, _
      ByVal wParam As Long, _
      ByVal lParam As Long) _
      As Long

Sub CallbackTest2()
   CallWindowProc AddressOf CallbackMsg, 0, 0, 0, 0
End Sub

Public Function CallbackMsg _
      (msg As String, _
      ByVal nUnused1 As Long, _
      ByVal nUnused2 As Long, _
      ByVal nUnused3 As Long)

   MsgBox "CallBack Work :)" & msg
End Function

最佳答案

找到了解决方案。

我改变的事情:

  • CallbackMsg 从函数到子
  • 用数据填充的字符串参数 VarPtr("Hallo Welt")

  • 运行版本:
    Private Declare Function CallWindowProc _
                              Lib "user32.dll" Alias "CallWindowProcA" ( _
                                  ByVal lpPrevWndFunc As Long, _
                                  ByVal hwnd As Long, _
                                  ByVal msg As Long, _
                                  ByVal wParam As Long, _
                                  ByVal lParam As Long) As Long
    
    private Sub CallbackTest2()
       CallWindowProc AddressOf CallbackMsg, VarPtr("Hallo Welt"), 0, 0, 0
    End Sub
    
    Private Sub CallbackMsg( _
            msg As String, _
            ByVal nUnused1 As Long, _
            ByVal nUnused2 As Long, _
            ByVal nUnused3 As Long)
        MsgBox msg
    End Sub
    

    关于VBA AddressOf Crash Office 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997849/

    相关文章:

    vba - 在 VBA 中循环字符串的看似简单的任务

    ms-access - Access VBA Getobject()

    excel - 复制visio页面并将其作为图像粘贴到excel中

    excel - 如何在 ExcelScript for web 上对单元格颜色进行排序?

    c# - 在ExcelDna中获取excel计算模式

    excel - 隐藏空行的更快方法

    ms-access - 如何从 Microsoft Access 中使用 VBA 重新启动 Microsoft Access?

    security - 使用 VBA 打开受 mdw 文件保护的 ms-access 数据库时模拟 SHIFT 键按下?

    javascript - ExtJS:如何从任何其他代理 Access Ajax 请求的值?

    vba - 如何将嵌入图片从 Excel 保存/复制到 Word