для автоматизации какого-либо бизнес-процесса. Я копирую диапазон ячеек Excel в почтовую программу Outlook. Я использую метод HTML, чтобы вставить диапазон в тело письма. Однако верхняя часть диапазона - это «нормальная» таблица с четкими границами. Под таблицей есть некоторый свободный текст (записанный в начале 1 ячейки).
Если свободный текст длиннее диапазона таблицы, текст обрезается и не отображается.
Есть ли обходной путь?
Найдите прикрепленный раздел кода, где генерируется HTML-файл (и текст обрезается). А также скриншот для иллюстрации.
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, 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
'Until here Text is displayed correctly.
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
Последние два слова текстового файла должны отображаться:
Как видите, это связано с тем, что текст выходит за границы диапазона таблицы.
Спасибо за вашу помощь. Макс