我想知道是否有任何方法可以从Outlook 2007中的VBA文本文件中读取信息.
谢谢你的关注
我有一个数据列表,比如存储在Excel工作表中的客户信息(名称,电子邮件,金额等).我的目标是单击Excel中的按钮,并将每个客户端的信息发送到Outlook模板中.
例如.亲爱的<<客户名>> =亲爱的约翰史密斯
我的代码到目前为止:
Dim myOlApp As Outlook.Application
Dim MyItem As Outlook.MailItem
Set myOlApp = CreateObject("Outlook.Application")
Set MyItem = myOlApp.CreateItemFromTemplate("C:\egTemplate.oft")
With MyItem
.To = Worksheets("Clients").Range(1, 2)
.Subject = "Monthly bill"
'Refer to and fill in variable items in template
.Save
End With
Set MyItem = Nothing
Set MyOlApp = Nothing
Run Code Online (Sandbox Code Playgroud)
我需要知道这是否可能,我可以在没有插件的情况下完成吗?如果有的话,是否有人知道我可以遵循的良好链接/教程?
在此先感谢您的亲切问候
更新添加了我的代码并对请求进行了一些更改
我有一个VBA宏来搜索电子邮件档案.
当搜索成千上万的电子邮件(或者甚至在我的测试机器上只有几百封)时,它会显示状态几秒钟,然后在运行其余电子邮件时进入无响应状态.
这导致不耐烦的用户过早地完成任务,我想通过提供状态更新来纠正这个问题.
我编写了以下解决方案,并认为问题在于循环期间GarbageCollector在VBA中的运行方式.
Public Sub searchAndMove()
UserForm1.Show
' Send a message to the user indicating
' the program has completed successfully,
' and displaying the number of messages sent during the run.
End Sub
Private Sub UserForm_Activate()
Me.Width = 240
Me.Height = 60
Me.Label1.Width = 230
Me.Label1.Height = 50
Dim oSelectTarget As Outlook.Folder
Dim oMoveTarget As Outlook.Folder
Dim oSearchCriteria As String
' Select the target folder to search and then the folder to
' which the files should be …Run Code Online (Sandbox Code Playgroud) 我收到此Object Required错误.见下面的代码.我不明白为什么我得到它.oitem变量被声明为Object,我在尝试移动之前对"MailItem"类型进行了测试.请指教.
艾伦
Public StatsArchiveFolder As Outlook.Folder
'StatsArchiveFolder is set to equal an Outlook.Folder elsewhere
_____________________________________
Sub MoveHarpStatMail()
Dim olapp As Outlook.Application
Dim olappns As Outlook.NameSpace
Dim oitem As Object
Dim ItemsToProcess As Outlook.Items
Dim myFolder As MAPIFolder
Dim sFilter As String
Dim tempMailItem As Outlook.MailItem
On Error GoTo LocalErr
'set outlook objects
Set olapp = New Outlook.Application
Set olappns = olapp.GetNamespace("MAPI")
Set myFolder = olappns.GetDefaultFolder(olFolderInbox)
'Filter or only MailItems received today
sFilter = "[ReceivedTime] >= " & AddQuotes(Format(Date, "ddddd")) …Run Code Online (Sandbox Code Playgroud) 我有一个宏,它描述了我选择的电子邮件,并填充了从模板创建的表单的"消息"字段:
sText = olItem.Body
Set msg = Application.CreateItemFromTemplate("C:\template.oft")
With msg
.Subject = "Test"
.To = "user@user.com"
'Set body format to HTML
.BodyFormat = Outlook.OlBodyFormat.olFormatHTML
.HTMLBody = "<HTML><BODY>EmailDesc: " + sText + "</BODY></HTML>"
.Display
End With
Run Code Online (Sandbox Code Playgroud)
在这个模板中,我有更多的字段要填充,比如组合框.
我想知道,当我点击发送按钮并在发送之前将其连接到电子邮件的内容时,如何获得此组合的值?
生成这样的东西:
EmailDesc: TEST SEND EMAIL BLA BLA BLA..
ComboboxValue: Item1
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试从特定帐户发送电子邮件,但无论我尝试多少代码或我做什么,它总是从我的主要邮件发送.有没有办法告诉它从特定帐户发送它?我在MS Access中编写代码,但使用的是Outlook对象.
Sub testEmail()
On Error Resume Next
Set outapp = GetObject(, "Outlook.Application")
If outapp Is Nothing Then
Set outapp = CreateObject("Outlook.Application")
End If
Set oMail = outapp.CreateItem(olMailItem)
With oMail
.To = "randomaddress@randomdomain.com"
.Subject = "test2"
.Send
End With
Set outapp = Nothing
Set oMail = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
更新的代码:
Option Compare Database
Sub testEmail()
On Error Resume Next
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(olMailItem)
Set olAccount = oApp.Account
Set olAccountTemp = oApp.Account
Dim foundAccount As Boolean
Dim …Run Code Online (Sandbox Code Playgroud) 我整个上午都在尝试使用此VBA脚本将我的活动excel文档附加到自动生成的Outlook消息中.如果我将文件路径声明为字符串并附加它,一切正常.除了我想附加当前excel文档的完整文件路径而不是使用静态字符串值.
这是我的代码:
Private Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim sAttach As String
Dim sTo As String
Dim sCC As String
'For To field
Set emailRng = Worksheets("Pre-Clearance Email").Range("E11:J14")
For Each cl In emailRng
sTo = sTo & ";" & cl.Value
Next
sTo = Mid(sTo, 2)
'For CC field
Set emailRngCC = Worksheets("Pre-Clearance Email").Range("E16:J19")
For Each cl In emailRngCC
sCC = sCC & ";" & cl.Value
Next
sCC = Mid(sCC, 2)
Set …Run Code Online (Sandbox Code Playgroud) 我想运行一些代码Excel,与之对话Outlook.在我的机器上,我可以从Tools->ReferencesVBE中选择正确的参考.
但我希望我的代码也可以在他们的机器上为其他用户运行,他们都有不同版本的Outlook和Excel,
有没有一种整洁的方法我可以让代码选择正确的MS Outlook引用,或告诉我是否没有安装Outlook等?
谢谢
我想使用Outlook宏连接到MS SQL Server数据库.但我不知道代码是错还是我需要添加一个库/驱动程序或者这里发生了什么,但它不起作用.
Private Sub Application_Startup()
On Error GoTo ExitHere
'adodb connection to other database
stg_cn.Open "Provider = SQLOLEDB;" & _
"Data Source = 192.168.100.100;" & _
"Initial Catalog = hugeDB;" & _
"Integrated Security=SSPI;" & _
"User ID = oneuser;" & _
"Password = onepassword;"
sQuery = "SELECT * FROM documents where location = 'IE'"
'set reference to query
Set cmd = New ADODB.Command
cmd.ActiveConnection = stg_cn
cmd.CommandType = adCmdText
cmd.CommandText = sQuery
Set rs = cmd.Execute
Do While …Run Code Online (Sandbox Code Playgroud) outlook-vba ×10
vba ×10
excel ×4
excel-vba ×3
outlook ×3
ms-access ×1
sql ×1
sql-server ×1
text-files ×1