【发布时间】:2023-03-23 06:07:01
【问题描述】:
我的代码可以多次保存文件,第二次保存为 .xlsx 文件,以便在没有开发人员选项卡中的 VBA 代码的情况下向外部发送。
在测试中,当几个人尝试使用该文件时,它可以工作,但在当天晚些时候或第二天等情况下它不起作用,并且没有任何改变。我正在使用最新的 Office 套件。
在下面的代码中,xxx代表私人信息。
Sub SubmitRequest()
Dim OlApp As Object
Dim NewMail As Object
Dim sMsgBody As String
If IsEmpty(Worksheets("Data").Range("A8")) = True Then
'Cell A8 is not blank
MsgBox "xxx", vbOKOnly + vbQuestion
Else
Application.ScreenUpdating = False
ActiveWorkbook.Save
'SaveAsXSLX() to remove code and send externally, works fine
Worksheets(Array("xx", "xxx")).Copy
ActiveWorkbook.SaveAs Filename:="xxx"
Application.DisplayAlerts = True
Set OlApp = CreateObject("Outlook.Application")
Set NewMail = OlApp.CreateItem(0)
On Error Resume Next
With NewMail
.to = "xxx@xxx"
.CC = "xxx@xxx"
.ReplyRecipients.Add "xxx.xxx"
.BCC = ""
.Subject = "xxx@xxx"
.Attachments.Add ActiveWorkbook.FullName
sMsgBody = "Hi xxx," & vbCr & vbCr
sMsgBody = sMsgBody & "xxx?" & vbCr
sMsgBody = sMsgBody & "xxx," & vbCr & vbCr
.body = sMsgBody
.Send
End With
On Error GoTo 0
Set NewMail = Nothing
Set OlApp = Nothing
Application.ScreenUpdating = True
MsgBox "xxx" & Worksheets("Data").Range("H4").Value
'Save and close request
ActiveWorkbook.Close SaveChanges:=True
Application.DisplayAlerts = False
Application.Quit
End If
End Sub
【问题讨论】:
-
"does not work" 不是有用的错误描述。您需要解释您的代码有什么问题以及您在哪一行中遇到了哪些错误。或者,如果没有错误,则说明与预期行为相比的实际行为。