相关疑难解决方法(0)

Excel VBA - 计算机锁定时不发送电子邮件

我在使用Excel VBA发送Outlook电子邮件时遇到问题.我有代码来做 - Sendupdate- 当我手动运行宏时,它工作正常.我的第二个宏StartTimer是为了在我不在我办公桌前的设定时间执行上述操作.

但是,当计算机被锁定时,电子邮件不会发送.当我回到我的办公桌时,电子邮件挂在那里作为草稿,我需要点击send按钮.

这是我的代码:

Sub SendUpdate()
Recipient = "x@y.com"
Subj = "update"
Dim msg As String
msg = "hello”

HLink = "mailto:" & Recipient & "?"
HLink = HLink & "subject=" & Subj & "&"
HLink = HLink & "body=" & msg
ActiveWorkbook.FollowHyperlink (HLink)
    Application.Wait (Now + TimeValue("0:00:01"))
    Application.SendKeys "%s"
End Sub

Sub StartTimer()
Application.OnTime TimeValue("18:00:00"), "SendUpdate"

End Sub
Run Code Online (Sandbox Code Playgroud)

有没有办法对宏进行编码以确保电子邮件被推送?

email outlook vba scheduled-tasks excel-vba

12
推荐指数
1
解决办法
1万
查看次数

使用VBScript调用Outlook过程

我在Outlook中有一个过程,它将所有已保存的消息发送到Drafts文件夹中.
以下是代码:

Public Sub SendMail()

Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim olDraft As Outlook.MAPIFolder
Dim strfoldername As String
Dim i As Integer

Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set olFolder = olNS.GetDefaultFolder(olFolderInbox)

strfoldername = olFolder.Parent

Set olDraft = olNS.Folders(strfoldername).Folders("Drafts")

If olDraft.Items.Count <> 0 Then
    For i = olDraft.Items.Count To 1 Step -1
        olDraft.Items.Item(i).Send
    Next
End If

End Sub
Run Code Online (Sandbox Code Playgroud)

以上代码工作正常.

题:

我想用它Task Scheduler来指定这个程序.
1.我将把程序放在Outlook,Module或ThisOutlookSession中?
2.我不擅长,vbscript所以我也不知道如何编写代码来调用Outlook程序.我已经完成了调用Excel Procedure但Outlook不支持 …

vbscript vba outlook-vba

7
推荐指数
1
解决办法
1万
查看次数