将已关闭的Excel文件中的数据读取到Outlook中

时间:2018-12-08 02:55:56

标签: excel vba collections outlook

如何将已关闭的excel文件中的数据读取到Outlook VBA集合中?

Sheet1的大小为N行乘以3列,并且数据稀疏地填充了文本和数字。

N不是固定的(随着在Sheet1的末尾添加或删除行而改变)。

我想读取整个N x 3范围内的数据(包括空单元格)。

由于excel文件分别在A,B,C列中有数据,因此ColumnA,ColumnB,ColumnC表示VBA集合的总数显然为3。

excel文件需要在未打开的情况下读取(我已经看过它完成了)。

请尽可能提供VBA代码。

1 个答案:

答案 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