在 HTMLBody 中显示工作表名称
Display Worksheet Names in HTMLBody
我有一个用于起草电子邮件的宏。对于 .HTMLBody
字段,我想在电子邮件正文中按以下方式显示当前工作簿中所有工作表的名称。
苹果
梨
橘子
葡萄
香蕉
以下代码将用一行填充我的电子邮件正文:
ApplesPearsOrangesGrapesBananas
我的完整代码没有显示,因为一些硬编码行包含机密信息。
Dim wks As Worksheet, strName As String
For Each wks In Worksheets
strName = strName & wks.Name
Next
msg = strName
.HTMLBody = strName
列出工作表名称
- 您可以使用以下功能:
Function ListWorksheetNames( _
ByVal wb As Workbook, _
ByVal Delimiter As String) _
As String
If wb Is Nothing Then Exit Function
If wb.Worksheets.Count = 0 Then Exit Function
Dim ws As Worksheet
Dim wsNames As String
For Each ws In wb.Worksheets
wsNames = wsNames & ws.Name & Delimiter
Next ws
wsNames = Left(wsNames, Len(wsNames) - Len(Delimiter)) ' remove last
ListWorksheetNames = wsNames
End Function
在您的代码中,您可以按以下方式使用它:
Dim msg As String
msg = ListWorksheetNames(ThisWorkbook, vbLf)
其中 ThisWorkbook
是包含此代码的工作簿。
如果中间需要空行,可以使用vbLf & vbLf
.
我有一个用于起草电子邮件的宏。对于 .HTMLBody
字段,我想在电子邮件正文中按以下方式显示当前工作簿中所有工作表的名称。
苹果
梨
橘子
葡萄
香蕉
以下代码将用一行填充我的电子邮件正文:
ApplesPearsOrangesGrapesBananas
我的完整代码没有显示,因为一些硬编码行包含机密信息。
Dim wks As Worksheet, strName As String
For Each wks In Worksheets
strName = strName & wks.Name
Next
msg = strName
.HTMLBody = strName
列出工作表名称
- 您可以使用以下功能:
Function ListWorksheetNames( _
ByVal wb As Workbook, _
ByVal Delimiter As String) _
As String
If wb Is Nothing Then Exit Function
If wb.Worksheets.Count = 0 Then Exit Function
Dim ws As Worksheet
Dim wsNames As String
For Each ws In wb.Worksheets
wsNames = wsNames & ws.Name & Delimiter
Next ws
wsNames = Left(wsNames, Len(wsNames) - Len(Delimiter)) ' remove last
ListWorksheetNames = wsNames
End Function
在您的代码中,您可以按以下方式使用它:
Dim msg As String msg = ListWorksheetNames(ThisWorkbook, vbLf)
其中
ThisWorkbook
是包含此代码的工作簿。如果中间需要空行,可以使用
vbLf & vbLf
.