Imprimir página | Cerrar ventana

Variable en Negrita

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84511
Fecha de impresión: 26/Marzo/2026 a las 15:29


Tema: Variable en Negrita
Publicado por: Nomada
Asunto: Variable en Negrita
Fecha de publicación: 24/Mayo/2019 a las 08:55
Buenas.
Tengo en código una variable de cadena (vAAA ), en la cual la primera palabra deseo que aparezca en negrita. Ejemplo:

CUARTA: En relación a....

Para hacerlo en un campo independiente dentro de un formulario el código sería:

<b>" & "CUARTA" & " </b> & ": En relación a..."

Además de poner en Propiedades\Formato de texto=Texto enriquecido

Pero, cómo lo puedo hacer con una variable?

Gracias.




Respuestas:
Publicado por: prga
Fecha de publicación: 24/Mayo/2019 a las 16:21
Hola.
Salvo mejor opinión y sin entrar en lo de la negrita, en un cuadro de texto, enriquecido o no, no se puede obtener directamente el valor de una variable "normal".
Posibles soluciones:

1ª.- Definir en VBA la variable como "temporal"(tempvars!mivariable1="el valor que sea") y llamarla en el cuadro de texto (="texto inicial " & tempvars!mivariable1 & " texto final).
2ª.- Definir una función pública que devuelva el valor de la variable. La llamada se haría de una forma similar a la anterior.
3ª.- 'Llenar' el cuadro de texto desde el VBA

Escrito de memoria, así es que....
Espero que ayude a resolver la duda.
Ya comentas.
Un saludo a todos



Publicado por: javier.mil
Fecha de publicación: 26/Mayo/2019 a las 11:26
Prueba asi

Donde pones
<b>" & "CUARTA" & " </b> & ": En relación a..."

Cambialo a
<b>" & MiVariable & " </b> & ": En relación a..."

Es decir quitale las comillas




-------------
https://www.accessdemo.info" rel="nofollow - https://www.accessdemo.info





Publicado por: Nomada
Fecha de publicación: 26/Mayo/2019 a las 11:32
Gracias a los dos, pero creo que no me expliqué bien.

En VBA tengo una variable de texto vAAA, la cual tiene el texto: "CUARTA: En relación a...".

Lo que deseo es que solamente la palabra "CUARTA" tome el formato de negrita, para luego pasarlo a la carta de Word.
Si puede ser, no quiero utilizar ningún cuadro de texto.

Saludos.


Publicado por: AnSanVal
Fecha de publicación: 26/Mayo/2019 a las 22:56
Parece que quieres: que al posicionar el cursor sobre la variable, se vea una parte en negrita y la otra parte no, es decir; aplicar formato en la propia variable. 

Si es 'eso' (hasta donde sé) las variables no admiten formato (de negrita, colores...). El formato deberías aplicarlo allí donde escribes (en la carta de Word).

Si 'eso' es posible, aprenderé algo nuevo.




-------------
Saludos desde Tenerife.


Publicado por: Nomada
Fecha de publicación: 27/Mayo/2019 a las 12:55
Gracias.
¿Cómo podría poner el contenido de la variable en varias líneas?, es que el párrafo es un poquito largo.



Publicado por: prga
Fecha de publicación: 27/Mayo/2019 a las 13:46
Hola.
Ahora al final resulta que es para word. Sin saber como pasas la información desde el access al word, pero se puede decir en general que sí queremos en word que la primera palabra de una selección de texto esté en negrita, el siguiente código en word lo consigue:

Application.Selection.Words(1).Bold = True

Otra cosa sería como conseguir esa selección de texto y como aplicar el código desde access
Ya comentas.
Un saludo a todos


Publicado por: AnSanVal
Fecha de publicación: 28/Mayo/2019 a las 01:19
«¿Cómo podría poner el contenido de la variable en varias líneas?»

¿En Word?  Ouch  ¡No tienes que hacer nada! Lo hace Word por defecto.




-------------
Saludos desde Tenerife.


Publicado por: Nomada
Fecha de publicación: 28/Mayo/2019 a las 06:58
En Word no, en VBA.


Publicado por: fcoval
Fecha de publicación: 28/Mayo/2019 a las 08:43
Hola Nomada,

Te comento dos opciones que puedes seguir:

1) Seria tener dos marcadores en el word, el primero solo para la palabra en negrita que quieres poner (a este marcador en word, le pones formato letra Negrita)
y acto seguido, otro marcador separado por un espacio con el primero y le pones formato sin negrita.

Desde access, la variable XXXX, la divides en dos partes, la primera parte de la variable con sólo una palabra y la segunda parte, con el resto de las palabras.
Ya solo tienes que pasarle los valores a word con el

.item("TUMARCADOR1").Range.Text = PrimeraLetraDeTuVariable
.item("TUMARCADOR2").Range.Text = RestoDeTuVariable
     

2)Va en la linea de lo que te ha comentado el usuario prga, poner la primera letra en negrita:


Set oApp = CreateObject("Word.Application")
Set Doc = oApp.Documents.Open(strPlantillaWord)
oApp.Visible = True
       
   With Doc.Bookmarks       
        .item("TUMARCADOR").Range.Text = vAAA
        .item("TUMARCADOR").Range.select     
        oApp.selection.Words(1).Bold = True    
End with



Publicado por: Nomada
Fecha de publicación: 28/Mayo/2019 a las 09:17
Ok. Muchas gracias a todos.
Ya con esta información probaré cual es la mejor opción.
Saludos.

Este hilo se puede cerrar satisfactoriamente.



Imprimir página | Cerrar ventana