Читаем Excel. Трюки и эффекты полностью

Листинг 3.58. Преобразование таблицы в HTML-формат

Sub ExportAsHtml()

Dim strStyle As String ' Параметры стиля отображения

ячейки

Dim strAlign As String ' Параметры выравнивания ячейки

Dim strOut As String ' Выходная строка с HTML-кодом

Dim cell As Object ' Обрабатываемая ячейка

Dim strCellText As String ' Текст обрабатываемой ячейки

Dim lngRow As Long ' Номер строки обрабатываемой

ячейки

Dim lngLastRow As Long ' Номер строки предыдущей ячейки

Dim strTemp As String

Dim objWordApp As Object

Dim i As Long

lngLastRow = Selection.Row

' Просмотр всех выделенных ячеек

For Each cell In Selection

' Значение строки для рассматриваемой ячейки

lngRow = cell.Row

' Если перешли на другую строку, то вставляем

If lngRow <> lngLastRow Then

strOut = strOut & vbTab & «» & vbCrLf & vbTab & _

«» & vbCrLf

' Переход на следующую строку

lngLastRow = lngRow

End If

' Задание шрифта ячейки

If Not IsNull(cell.Font.Size) Then

strStyle = « style=» & "font-size: " & Int(100 * _

cell.Font.Size / 19) & «%;»

End If

' Для полужирного шрифта вставляем

If cell.Font.Bold Then

strCellText = «» & strCellText & «»

End If

' Задание выравнивания

If cell.HorizontalAlignment = xlRight Then

' По правому краю

strAlign = « align=» & «right»

ElseIf cell.HorizontalAlignment = xlCenter Then

' По центру

strAlign = « align=» & «center»

Else

' По левому краю (по умолчанию)

strAlign = ""

End If

' Чтение текста в ячейке

strCellText = cell.Text

' Если нужно, то вертикальный вывод текста (в строку strTemp _

с последующим перенесением обратно в strCellText)

If cell.Orientation <> xlHorizontal Then

strTemp = ""

' Печать после каждого символа специального _

разделителя –

For i = 1 To Len(strCellText)

strTemp = strTemp & Mid$(strCellText, i, 1) & «
»

Next i

strCellText = strTemp

strStyle = ""

End If

strOut = strOut & vbTab & vbTab & «

strAlign _

& «>» & strCellText & «» & vbCrLf

Next

' Вставка для первой строки и  – для последней

strOut = vbTab & "м & vbCrLf & strOut & vbTab & "м

& vbCrLf

' Вставка дескриптора

strOut = «

» &

vbCrLf & _

strOut & vbCrLf & «»

' Запускаем Word и показываем в нем сформированный HTML-код

Set objWordApp = CreateObject(«Word.Application»)

objWordApp.documents.Add

objWordApp.Selection = strOut

objWordApp.Selection.Copy

objWordApp.Visible = True

Set objWordApp = Nothing

End Sub

При выполнении данного трюка не стоит забывать, что перед запуском макроса следует выделить диапазон ячеек, который предстоит конвертировать в HTML-код.

В результате применения макроса табличные данные, показанные на рис. 3.17, будут преобразованы в следующий HTML-код:

77

345

25

851

44

415

17

25

Читатель, хотя бы немного знакомый с веб-разработками, без труда узнает знакомый стиль HTML-файла. Этот код будет открыт в отдельном окне Microsoft Word, а также скопирован в буфер обмена.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных