大佬教程收集整理的这篇文章主要介绍了RangetoHTML 保持 TempWB 打开,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Ron de Bruin 的 RangetoHTML 将范围复制到 HTML 电子邮件正文,而无需修改。在我的 Excel 2010 电脑上,它按预期工作。在运行 Excel 2016 的同事的电脑上,它似乎采用了范围,创建了临时工作簿并停止。临时工作簿包括正确的范围,但它永远不会进入电子邮件正文,代码也不会关闭并删除临时工作簿。它仍然正确填充 to/cc 和主题,但 .HTMLbody 是空白的。有什么想法吗?
代码如下:
...
On Error Resume Next
Dim objOutlook as Object
Set objOutlook = CreateObject("outlook.application")
Dim objemail as Object
Set objemail = objOutlook.CreateItem(olMailitem)
With objemail
.To = ""
.CC = ""
.bCC = ""
.Attachments.Add (attachmentPath)
.Subject = strSubject
.HTMLbody = RangetoHTML(rng) & signature
.display
End With
End Sub
Function RangetoHTML(rng As RangE)
'Changed by Ron de Bruin 28-Oct-2006
'Working in Office 2000-2016
Dim fso as Object
Dim ts as Object
Dim Tempfile As String
Dim TempWB As Workbook
Tempfile = Environ$("temp") & "\" & Format(Now,"dd-mm-yy h-mm-ss") & ".htm"
'copy the range and create a new workbook to paste the data in
rng.copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues,false,false
.Cells(1).PasteSpecial xlPasteFormats,false
.Cells(1).SELEct
Application.Cutcopymode = false
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.delete
On Error GoTo 0
End With
'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
sourceType:=xlsourceRange,_
filename:=Tempfile,_
Sheet:=TempWB.Sheets(1).name
source:=TempWB.Sheets(1).UsedRange.Address,_
HTMLType:=xlHTMLStatiC)
.Publish (true)
End With
'Read all data from the htm filE into RangetoHTML
Set fso = CreateObject("ScripTing.fileSystemObject")
Set ts = fso.Getfile(TempfilE).openAsTextStream(1,-2)
RangetoHTML = ts.readall
ts.Close
RangetoHTML = replace(RangetoHTML,"align=center x:publishsource=",_
"align=left x:publishsource=")
'Close TempWB
TempWB.Close savechanges:=false
'delete the htm file we used in the function
Kill Tempfile
Set ts= nothing
Set fso = nothing
Set TempWB = nothing
End Function
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的RangetoHTML 保持 TempWB 打开全部内容,希望文章能够帮你解决RangetoHTML 保持 TempWB 打开所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。