Script - Abrir formulario de edición de texto enriquecido (RTF)

Creado por Pablo Céspedes, Modificado el Mar, 17 Jun a 12:20 P. M. por Paco Bueno

Es posible lanzar un proceso que crea un formulario de edición de textos enriquecidos (o RTF) pasándole un texto y devuelve el mismo editado.


Dicho formulario tiene dos formas de devolver el texto:


Aceptar Sin Formato devuelve el texto sin ningún tipo de formato y omitirá cualquier cambio estético relativo al texto enriquecido.

Aceptar devuelve el texto con el formato enriquecido.


El siguiente script de ejemplo abre un editor y, si se acepta, tanto con o sin formato, vuelve a abrirlo con el texto modificado. Podrán observar que cualquier cambio que realicen sobre el tamaño, fuente, estilo, etc. es omitido si pulsamos Aceptar Sin Formato.


Código C#:

using AhoraCore;
using AhoraOCX;
using AhoraSistema;
using static AhoraCore.VBA.Interaction;
using static AhoraCore.VbMsgBoxResult;
using static AhoraCore.VbMsgBoxStyle;
using System;
using AhoraAsistentes;

namespace AhoraScriptsVacia
{
    public class Script_17 : AhoraOCX.AhoraBaseScript
    {
        public void Main()
        {
            var frmDlg_TextoRTF = (IfrmDlg_TextoRTF)gCn.AhoraProceso("DamefrmDlg_TextoRTF", out _);
            Valor textoPrueba = "Texto a mostrar";
            Valor textoPruebaModificado = frmDlg_TextoRTF.Ver(textoPrueba);
            // Si hemos modificado texto, volvemos a pasarlo al editor
            if (!string.IsNullOrEmpty(textoPruebaModificado))
            {
                MsgBox("Texto modificado: " + textoPruebaModificado + ", abriendo formulario de nuevo");
                frmDlg_TextoRTF = (IfrmDlg_TextoRTF)gCn.AhoraProceso("DamefrmDlg_TextoRTF", out _);
                textoPruebaModificado = frmDlg_TextoRTF.Ver(textoPruebaModificado);
            }
        }
    }
}

Alternativamente, si no se quiere mostrar el botón de Aceptar sin formato puede utilizar esta llamada:

textoPruebaModificado = frmDlg_TextoRTF.VerSoloRTF(textoPruebaModificado);

Respecto a la versión 4.4.2400, no está disponible el botón de "Aceptar sin formato":


Código VBS:

Sub Main()
   frmAux.Descargar      'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO.

  Dim lFrm ' as Object  
  Dim lTextoPrueba ' as String
  Dim lTextoPruebaModificado ' as String
  
  Set lFrm = gCn.AhoraProceso("DamefrmDlg_TextoRTF", False)
  
  If Not lFrm Is Nothing Then
    lTextoPrueba = "Texto a mostrar"
    lTextoPruebaModificado = lFrm.Ver(lTextoPrueba)  
    If lTextoPruebaModificado <> "" Then
       MsgBox("Texto modificado: " & lTextoPruebaModificado & ", abriendo formulario de nuevo")
       lTextoPruebaModificado = lFrm.Ver(lTextoPruebaModificado)
    End If
  End If
End Sub

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo