gpt4 book ai didi

vba - Microsoft Excel 正在等待另一个应用程序完成 OLE 操作

转载 作者:行者123 更新时间:2023-12-05 00:35:38 27 4
gpt4 key购买 nike

我正在通过一个 vb 脚本运行一个宏,该脚本从数据库中导入 1000 多条记录并将它们复制到一个 Excel 工作表中,然后发送一封电子邮件说报告已准备好。当我导入较少的记录(100 或 200)时,它运行良好。但是,当我导入整个记录(超过 1000 条)时,即使程序运行良好,我也会收到一条窗口消息“Microsoft Excel 正在等待另一个应用程序完成 OLE 操作”。

有什么办法可以隐藏这个消息。另外,如果我隐藏此消息,程序会继续运行吗?下面是我的代码:

    Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set rst = New ADODB.Recordset
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

cn.Open ("User ID=flt" & _
";Password=flts1hp" & _
";Data Source=SIH_PROD" & _
";Provider=MSDAORA.1" & _
";PLSQLRSet=0")

Set oxcel = New Excel.Application
Set wbk = oxcel.Workbooks.Add()

With oxcel
.ActiveSheet.Name = "Report"
strFileName = "C:\Users\extract.xlsx"

'headings
For i = 0 To rs.Fields.Count - 1
.Cells(row, col) = rs.Fields(i).Name
.Rows(row).RowHeight = 45
.Cells(row, col).WrapText = True
col = col + 1
Next

.Range("A2").Select
.Selection.CopyFromRecordset rs

With wbk
.Application.DisplayAlerts = False
On Error GoTo Error_Message

.SaveAs (strFileName), AccessMode:=xlExclusive, _
ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges

.Close
End With
.Quit
End With

With OutMail
.To = "vinod.chelladurai@abc.com"
.CC = ""
.BCC = ""
.Subject = "Done"
.Body = "Done"

.Send
End With

Set OutApp = Nothing
Set OutMail = Nothing

End Sub

最佳答案

通过阅读您的问题(无需进入您的代码)

是 - 可以使用禁用警报消息

`Application.DisplayAlerts = False`

但这并不能解决问题,

您的程序仍然无法执行。由于函数调用中会出现一些死锁,(我曾经遇到过这个问题)

尝试使用断点调试并将其缩小到错误的函数调用

希望这会有所帮助

关于vba - Microsoft Excel 正在等待另一个应用程序完成 OLE 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22379815/

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