Excel. Трюки и эффекты | страница 118
lngRow = cell.Row
' Если перешли на другую строку, то вставляем
If lngRow <> lngLastRow Then
strOut = strOut & vbTab & «
«
' Переход на следующую сроку
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 & «
Next
' Вставка
strOut = vbTab & «
& vbCrLf
' Вставка дескриптора
' Сохранение HTML-кода в файл
Open strFileName For Output As 1
Print #1, strOut
Close 1
' Вывод окна с информационным сообщением о результатах работы
MsgBox Selection.Count & " ячеек экспортировано в файл " & _
strFileName
End Sub
После написания кода будет создан макрос ExportAsHtmlFile, результатом работы которого будет сформированный файл Primer.htm (не стоит забывать, что перед выполнением макроса необходимо выделить диапазон, данные которого должны быть преобразованы в HTML-формат). Путь для сохранения по обычным правилам Windows указывается в окне, которое открывается на экране сразу после запуска макроса (в этом же окне можно изменить имя создаваемого файла, которое предлагается по умолчанию). По окончании преобразования на экране отобразится окно, в котором пользователю сообщается количество преобразованных ячеек и путь к созданному НТМ-файлу.
Поиск данных нештатными средствами
Как известно, Excel включает в себя штатные средства поиска требуемых данных. Однако в некоторых случаях для этого целесообразнее использовать макрос, код которого приведен в листинге 3.60.