Tags HTML para indicar el formato de una cadena

07/11/2003 - 11:51 por Ruben | Informe spam
Quiero hacer una función en VB que me devuelva el contenido de una celda
indicando de alguna manera su fromato (negrita, cursiva, ...)
En la celda habrá una cadena de texto que puede tener diferentes formatos.
Sé como acceder al contenido (range.value) y como moverme por los caracteres
de la cadena (range.characters), de manera que había pensadoen ir
comprobando el formato de cada uno de los caracteres y sustituir el formato
por sus tags de HTML correspondiente <i>texto</i> por ejemplo.

Hay alguna manera más directa de obtener el tecto de una celda con sus
correspondientes tags indicando el formato?
Gracias
 

Leer las respuestas

#1 Héctor Miguel
08/11/2003 - 10:50 | Informe spam
Hola, Ruben !

... hacer ... funcion ... VB ... devuelva ... contenido ... celda indicando ... formato (negrita, cursiva, ...)
... habra ... texto que puede tener diferentes formatos.
Se ... acceder al contenido (range.value) y ... moverme por ... la cadena (range.characters)
... habia pensado en ir comprobando ... cada uno ... y sustituir el formato por sus tags de HTML [...]
... alguna manera mas directa de obtener el texto ... con sus correspondientes tags indicando el formato?



1.- [creo que] seria una funcion [bastante] larga, considerando que la celda puede contener un 'buen' numero de
'posibles combinaciones' POR CADA CARACTER
[a 'capricho' del usuario y segun la 'capacidad contenedora' de caracteres -1024 / 32767 - celda / barra de formulas-]
[p.e. -y/o- negritas, cursiva, subrayado, subindice, fuente, tamaño, color, etc.]
2.- [me temo que] la unica opcion es [como ya lo mencionas] 'ir comprobando cada uno ...'
3.- para 'asegurar' que se trata de 'solo textos', [te sugeriria] usar una instruccion [inicial] del 'tipo':
If range.HasFormula Then Exit Sub [o Exit Function] [o GoTo -la_que_sigue-] [o ...]
4.- para 'ir recorriendo' cada caracter ['seguros' de que son 'solo' textos] podrias usar codigo [+/-] como lo siguiente:
For Pos = 1 To Total =>siendo 'Total' la cuenta de los caracteres en [cada] celda< With range.Characters(Pos, 1) =>o With Mid(range, Pos, 1) =>o cualquier otra 'forma similar'
5.- para 'obtener' el total de caracteres:
-o- Total = Len(range)
['esto' es 'lo mismo que' Len(range.Value) ya que 'Value' es la propiedad 'por omision' de un objeto 'Range']
-o- Total = Len(range.Formula)
-o- Total = range.Characters.Count [...etc.]

preguntas => respuesta si quisieras 'satisfacer' la duda que 'me asalta' :)) <1.- ¿porque 'necesitas' sustituir los 'n_formatos' [y sus 'posibles combinaciones'] por 'encabezados' HTML?
2.- ¿que 'utilidad' tendra el 'resultado' de tal funcion?

Saludos,
Héctor.

Preguntas similares