使用AFTER_REFRESH()时不显示Excel消息框

2020-09-09 21:22发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


使用AFTER_REFRESH函数调用另一个显示消息框的宏时,直到重新选择Excel工作簿后,消息框才会出现。 而是将IBP计划视图刷新框保留在屏幕上,并显示消息"计划视图详细信息:正在还原Excel计算..."

有没有一种方法可以使用AFTER_REFRESH函数,并且仍然显示自定义消息框,而不必重新选择Excel。 我尝试了几种不同的方法来激活宏的不同部分中的工作簿和工作表,但是无法显示该消息。

即使此示例代码也将导致问题。

函数AFTER_REFRESH()
     MsgBox"消息未显示"
     AFTER_REFRESH =真
 结束功能

(3.5 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


使用AFTER_REFRESH函数调用另一个显示消息框的宏时,直到重新选择Excel工作簿后,消息框才会出现。 而是将IBP计划视图刷新框保留在屏幕上,并显示消息"计划视图详细信息:正在还原Excel计算..."

有没有一种方法可以使用AFTER_REFRESH函数,并且仍然显示自定义消息框,而不必重新选择Excel。 我尝试了几种不同的方法来激活宏的不同部分中的工作簿和工作表,但是无法显示该消息。

即使此示例代码也将导致问题。

函数AFTER_REFRESH()
     MsgBox"消息未显示"
     AFTER_REFRESH =真
 结束功能

(3.5 kB)
付费偷看设置
发送
2条回答
野沐沐
1楼 · 2020-09-09 21:31.采纳回答

您可以使用WinAPI Timer启动消息! 计时器将以AFTER_REFRESH

示例代码启动:

选项明确

 设置WinAPI计时器
 公共声明函数SetTimer Lib" user32"(_
     ByVal hwnd As Long,_
     ByVal nIDEvent为Long,_
     ByVal uElapse只要_
     ByVal lpTimerFunc(只要)

 '杀死WinAPI计时器
 公共声明函数KillTimer Lib" user32"(_
     ByVal hwnd As Long,_
     ByVal nIDEvent(只要)

 '计时器的全局变量
 公开的lngTimerID只要

 函数AFTER_REFRESH()
     lngTimerID = SetTimer(0,0&,100&,AddressOf TimerProc)
     AFTER_REFRESH =真
 结束功能

 Sub TimerProc(ByVal hwnd长,ByVal uMsg长,ByVal nIDEvent长,ByVal dwTimer长)
     如果nIDEvent = lngTimerID,则
         KillTimer 0,lngTimerID
         MsgBox"显示消息"
     万一
 结束Sub 
lukcy2020
2楼-- · 2020-09-09 21:31

感谢Vadim。 这对我有用。

一周热门 更多>