gpt4 book ai didi

vba - Excel VBA : Macro hangs after opening a document when run via shortcut key, 但可以从 VB 编辑器完美运行

转载 作者:行者123 更新时间:2023-12-03 02:08:19 26 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,我决定在 VBA 中的一个例程上分配键盘快捷键 Ctrl + Shift + P。该例程假设打开一个现有的 Excel 工作簿,复制一些信息和.SaveAs另一个名称。

当我在 Visual Basic 编辑器中点击“播放”时,它实际上运行良好。但是,当我使用 Excel 中的键盘快捷键运行代码时,它在打开文档后停止工作。

我在此示例中重现了该问题:

Public Sub WriteData()
Dim templatePath As String
Dim templateWorkbook As Workbook

'it seems to hang on the following line
Set templateWorkbook = Application.Workbooks.Open(templatePath)

With templateWorkbook.Worksheets.Application
.Range("B3") = "Employee name"
.Range("B4") = "Employee first name"
.Range("B5") = "Employee email"
End With

templateWorkbook.SaveAs(ThisWorkbook.Path & "Test")
templateWorkbook.close
End Sub

我使用的是 Excel 2007。

最佳答案

显然,在多次谷歌搜索该特定问题后,似乎

Application.Workbooks.Open(yourPath)

与快捷键中的Shift键盘键混合使用就是问题所在。更准确地说from this guy如果你看最后一个答案:

The shift key makes a vb script stop at any Open statement.

所以你有两个解决方案

  1. 从快捷键中删除 Shift 键并选择另一个键

  2. 您可以使用 .Add 代替 .Open,它可以完成相同的工作,但代码不会挂起。因此,如果您执行 Application.Workbooks.Add(yourPath) 它应该正常运行。

有趣的是,当您在运行宏时查看屏幕时,OpenAdd 具有完全相同的行为。

编辑:我找不到任何提及该错误的官方链接。

关于vba - Excel VBA : Macro hangs after opening a document when run via shortcut key, 但可以从 VB 编辑器完美运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17409524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com