Доброе время суток
Цитата |
---|
Игорь написал: формирование HTML на основании форматирования внутри ячейки |
Игорь, для одиночной ячейки можно воспользоваться примитивным переводом данных формата ячейки из XML в HTML (Владимир ZVI в своё время подсказал как это делается)
Код |
---|
1 2 3 4 5 6 7 8 9 10 11 12 | Public Function CellTextToHtml( ByVal thisCell As Range) As Variant
Dim pReg As Object , sText
If thisCell.Count = 1 Then
Set pReg = CreateObject( "VBScript.RegExp" )
pReg.Pattern = "<ss:Data[^>]*>(.*?)</ss:Data>"
sText = Replace$(Replace$(thisCell.Value(xlRangeValueXMLSpreadsheet), vbLf, " " ), vbCr, " " )
sText = pReg.Execute(sText)(0).SubMatches(0)
CellTextToHtml = Application.Trim(Replace$(sText, "html:" , "" ))
Else
CellTextToHtml = CVErr(xlErrValue)
End If
End Function
|
|
Примитивность здесь в том, что тэг Font в Html5 уже не поддерживается. Плюс, Replace$(sText, "
html:", "") костыльно. Ну, или писать полноценный трасформер xslt. Получившийся Html вроде отображается в том же виде (ну, за исключением базового определения шрифта, конечно - это требует дополнения).
Скрытый текст |
---|
Код |
---|
1 2 3 4 5 6 7 8 9 10 11 | <html>
<head>
<title>Test convert</title>
<meta charset= "utf-8" />
</head>
<body>
<div>
<Font Face= "Arial" x:CharSet= "204" x:Family= "Swiss" Size= "16" Color= "#000000" >вывод</Font><Font Color= "#000000" > "</Font><Font Color= "#FF0000" >текста"</Font><Font Color= "#000000" > x</Font>< Sub ><Font Color= "#000000" >2</Font></ Sub ><Font Color= "#000000" >, y</Font><Sup><Font Color= "#000000" >3</Font></Sup><Font Color= "#000000" > в
</div>
</body>
</html>
|
|
|