繁体   English   中英

VBA:重新聚焦Excel工作簿

[英]VBA: Refocus Excel Workbook

我编写了一个程序,将Excel数据存储在Excel电子表格中,然后将其放入PDF表单中。 该程序将打开PDF表单,填写数据,然后保存并关闭PDF。 然后,它重新聚焦到Excel工作簿。 它可以在我的笔记本电脑上正常工作,但是当我将它交给朋友时,在Invalid procedure call or argument出现Invalid procedure call or argument错误。

AppActivate ThisWorkbook.Name

我想知道为什么这对我有效,但对我的朋友无效。 我也想知道是否还有另一种方法可以将焦点重新带到Excel工作簿中。 谢谢!

编辑:我希望它重新聚焦到Excel,以显示一个弹出的Msgbox,表明该工具已完成工作。

ThisWorkbook.Activate
MsgBox "Job Completed!"

我知道这并非完全解决您的问题,但是如果注释中的所有想法都没有帮助(激活和其他功能),请考虑使用mshta.exe而不是msgbox:

Title = "title"
MessageText = "msg"
PauseTimeSeconds = 0

CreateObject("WScript.Shell").Run "mshta.exe vbscript:close(CreateObject(""WScript.Shell"")." & "Popup(""" & MessageText & """," & PauseTimeSeconds & ",""" & Title & """))"

它不会重新关注excel,但应该在其他窗口顶部显示您的msg,这是您希望的。 请注意,无论用户是否单击“确定”,该代码将继续执行。 PauseTimeSeconds将在一定秒数后关闭窗口,如果设置为0,则将其保持打开状态。

暂无
暂无

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

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