如何将已关闭的excel文件中的数据读取到Outlook VBA集合中?
Sheet1的大小为N行乘以3列,并且数据稀疏地填充了文本和数字。
N不是固定的(随着在Sheet1的末尾添加或删除行而改变)。
我想读取整个N x 3范围内的数据(包括空单元格)。
由于excel文件分别在A,B,C列中有数据,因此ColumnA,ColumnB,ColumnC表示VBA集合的总数显然为3。
excel文件需要在未打开的情况下读取(我已经看过它完成了)。
请尽可能提供VBA代码。
答案 0 :(得分:0)
在Outlook VBA编辑器中,设置对Excel的引用。
Tools | References
Tick Microsoft Excel Object Library
将Option Explict添加到新模块。您会发现这很有帮助。
Tools | Options | Editor tab
Tick Require Variable Declaration
。 您可以参考以下代码将Excel数据读入Outlook: 显式选项
Sub links()
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim ExcelFileName As String
Dim FilePath As String
Dim oMsg As mailItem
ExcelFileName = "C:\links.xlsx"
Set exWb = objExcel.Workbooks.Open(ExcelFileName)
FilePath = exWb.Sheets("Sheet1").Cells(1, 1)
On Error Resume Next
Set oMsg = ActiveInspector.currentItem
On Error GoTo 0
If oMsg Is Nothing Then
Set oMsg = CreateItem(0)
oMsg.Display
End If
' This adds to existing text.
' Must display first to save a signature
'oMsg.body = Chr(34) & FilePath & Chr(34) & oMsg.body
'or
oMsg.HTMLBody = Chr(34) & FilePath & Chr(34) & oMsg.HTMLBody
ExitRoutine:
Set oMsg = Nothing
Set exWb = Nothing
Set objExcel = Nothing
End Sub
引用来自:
Outlook 2007 Macro to read excel file containing file paths and create hyperlinks