Desde Ahora 5 es posible agregar las referencias externas que queramos al código generado por Ctrl + F10, tanto en ejecución de pantalla como ejecución de scripts individuales.
Para ello deben acceder desde el nodo padre al nodo "Mantenimiento Referencias Externas" que encontrarán dentro del menú Administración :
Desde la pantalla siguiente simplemente añadan las referencias que necesiten:
Código C#:
El siguiente código es de un script que sirve para enviar un correo electrónico mediante la librería referenciada "System.Net.Mail" y todas las librerías satélite que necesita para su correcto funcionamiento:
using AhoraCore; using AhoraOCX; using AhoraSistema; using static AhoraCore.VBA.Interaction; using static AhoraCore.VbMsgBoxResult; using static AhoraCore.VbMsgBoxStyle; using System; using System.Security; using System.Net; using System.Net.Mail; namespace AhoraScriptsVacia { public class Script_18 : AhoraOCX.AhoraBaseScript { public void Main() { // Configurar la información del correo electrónico string fromEmail = "elquesea@gmail.com"; string toEmail = "elquesea@gmail.com"; string subject = "Prueba de correo electrónico"; string body = "Este es un correo de prueba enviado desde C# con System.Net.Mail"; // Configurar el cliente SMTP (en este caso, Gmail) SmtpClient smtpClient = new SmtpClient("smtp.gmail.com") { Port = 587, Credentials = new NetworkCredential("elquesea@gmail.com", "PasswordDeElquesea"), EnableSsl = true, }; // Crear el mensaje MailMessage mailMessage = new MailMessage(fromEmail, toEmail) { Subject = subject, Body = body, }; try { // Enviar el correo electrónico smtpClient.Send(mailMessage); MsgBox("Correo electrónico enviado con éxito."); } catch (Exception ex) { MsgBox($"Error al enviar el correo electrónico: {ex.Message}"); } } } }
Este código funciona únicamente si las librerías referenciadas están en el mantenimiento correspondiente.
Errores conocidos provocados por referencias faltantes:
Procedemos a listar algunos de los errores que devuelve el sistema cuando se intentan usar algunas funcionalidades no disponibles con las referencias estándar y las librerías necesarias a añadir:
Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember'
Añadir las siguientes librerías:
- Microsoft.CSharp
- System.Runtime
- System.Linq.Expressions
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo