gpt4 book ai didi

VBA 脚本卡在 Workbook.Close 处

转载 作者:行者123 更新时间:2023-12-02 05:41:08 25 4
gpt4 key购买 nike

我正在尝试在 Visual Basic for Applications 中编写一个 hello world 应用程序,即修改 Excel 工作表中的单元格。这是:

Sub hello()

Dim obj As Object
Dim Workbook As Object

Set obj = CreateObject("Excel.Application")
Set Workbook = obj.Workbooks.Open("C:\Users\gbuday\Desktop\Oktatás\Excel\start.xlsx")

Workbook.Worksheets("Munka1").Range("B3") = "Hello World!"

Workbook.Close
Set Workbook = Nothing
Set obj = Nothing

End Sub

运行时,Excel挂起,我无法停止脚本运行,只能杀死excel进程。调试它时,它卡在 Workbook.Close 行。该行有什么问题?

最佳答案

问题是您没有给 Excel 足够的时间来完成其操作。通常 DoEvents 可以解决问题。另外为了避免混淆,您可能需要将变量命名为“wbk”而不是“Workbook”

Sub hello()
Dim obj As Object, wbk As Object

Set obj = CreateObject("Excel.Application")
Set wbk = obj.Workbooks.Open("C:\Users\gbuday\Desktop\Oktatás\Excel\start.xlsx")

wbk.Worksheets("Munka1").Range("B3") = "Hello World!"

DoEvents

'~~> Change True to False if you do not want to save
wbk.Close SaveChanges:=True

Set wbk = Nothing: Set obj = Nothing
End Sub

关于VBA 脚本卡在 Workbook.Close 处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13797367/

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