ConvertRngtoHtm PasteSpecial Issue
Есть код который должен конвертировать таблицу из Excel в информацию для отправления письма через Outlook. Выдает ошибку 1004 PasteSpecial method of range class failed. Никак не пойму из за чего, потому как на другом компьютере работает.
Function ConvertRngToHTM(rng As Range)
Dim ts As Object
Dim sF As String, resHTM As String
Dim wbTmp As Workbook
sF = Environ("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
rng.Copy
Set wbTmp = Workbooks.Add(1)
With wbTmp.Sheets(1)
.Cells(1).PasteSpecial Paste:=xlPasteColumnWidths
.Cells(1).PasteSpecial Paste:=xlPasteValues
.Cells(1).PasteSpecial Paste:=xlPasteFormats
.Columns("C:E").Delete
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With
With wbTmp.PublishObjects.Add( _
SourceType:=xlSourceRange, Filename:=sF, _
Sheet:=wbTmp.Sheets(1).Name, Source:=wbTmp.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sF).OpenAsTextStream(1, -2)
resHTM = ts.ReadAll
ts.Close
ConvertRngToHTM = Replace(resHTM, "align=center x:publishsource=", "align=left x:publishsource=")
wbTmp.Close False
Kill sF
Set ts = Nothing: Set fso = Nothing
Set wbTmp = Nothing
End Function