Ir al contenido principal

trabajar con calendario de office outlook

El sistema Office de Microsoft es el mas popular del menudo y me atrevo a decir el unico sistema administrativo que nos da todo o casi todo lo que deseamos para hacer nuestro trabajo en la oficina, pero que sucede cuando tenemos un sistema ajeno este paquete?, imegenemos el siguiente esceneario:

suponga que usted es un desarrollador en tecnologia .NET y esta en un proceso para anexar a un calendario alguna tarea importante que su sistema genera y desea que no se pase por alto por que es de suma importancia que la realicen. Mediante esta pequeña clase podemos hacer esto de una forma simple.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace SISTEMA_TDM.Clases
{
    class clsCalendarioOutLook
    {
        public string ASUNTO {get;set;}
        public string TEMA {get;set;}
        public string FECHA { get; set; }
        public  void ANEXAR_CITA()
        {
            Outlook.Application outlookApp = new Outlook.Application();
            Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem)outlookApp.CreateItem(Outlook.OlItemType.olAppointmentItem);
           
            oAppointment.Subject = TEMA;
            oAppointment.Body = ASUNTO;
            oAppointment.Location = Properties.Settings.Default.DEPTARTAMENTO;
            // fecha de inicio
            oAppointment.Start = Convert.ToDateTime(FECHA);
            // fecha final
            oAppointment.End = Convert.ToDateTime(FECHA).AddMinutes(60);
           
            oAppointment.ReminderSet = true;
            oAppointment.ReminderMinutesBeforeStart = 15;
            oAppointment.ReminderPlaySound = true;
            //importancia alta
            oAppointment.Importance = Outlook.OlImportance.olImportanceHigh;

            /* OlBusyStatus is enum with following values:
            olBusy-ocupado
            olFree -libre
            olOutOfOffice-fuera de la oficina
            olTentative -tentativo
            */

            oAppointment.BusyStatus = Microsoft.Office.Interop.Outlook.OlBusyStatus.olBusy;
            oAppointment.Save();
        }
        public static void ANEXAR_CONTACTO(string nickname,string correo,string direccion,string telefono,string cliente)
        {
            Outlook.Application CONTACTO = new Outlook.Application();
            Outlook.ContactItem _contacto = (Outlook.ContactItem)CONTACTO.CreateItem(Outlook.OlItemType.olContactItem);
            try
            {
                _contacto.FullName = nickname;
                _contacto.PrimaryTelephoneNumber = telefono;
                _contacto.CompanyName = cliente;
                _contacto.Email1Address = correo;
                _contacto.BusinessAddress = direccion;
                _contacto.Save();  
            }
            catch (Exception ex)
            {
                throw ex;
            }
           

        }
        public static void ANEXAR_TAREAS(string mtarea)
        {
            Outlook.Application tarea = new Outlook.Application();
            Outlook.TaskItem _tarea= (Outlook.TaskItem)tarea.CreateItem(Outlook.OlItemType.olTaskItem);
            _tarea.Subject=mtarea;
            _tarea.Save();

        }
    }
}

como veras el codigo es algo muy compacto gracias ala interaccion que existe entre Outlook y .Net, espero que les sirva.

Comentarios

Entradas populares de este blog

Conectar JAVA a SQLServer

Como ya lo comente en mi blog anterior no soy un fiel seguidor de JAVA pero en ocaciones debemos usar este lenguaje para algun proyecto. para conectarnos a SQLServer con Java es bastante elemental, solo basta con descargar la liberia que puedes descargar  aqui , una vez descargado creamos una nueva aplicacion de java. lo primero que debemos hacer es importar la libreria, le damos clic con el boton derecho sobre librerias com lo muestro acontinuacion: elegimos el  archivo : una vez hecho esto a programar. package base.de.datos.sqlserver; import java.sql.*; public class BaseDeDatosSqlserver {     public static void main(String[] args) {         Connection conexion=null;             try         {             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");             String url = "jdbc...

EDITAR UN DOCUMENTO WORD USANDO MARCADORES CON C#

en ocaciones debemos usar documentos creados en Word como platillas, es decir que tienen un formato especifico y bastante eleborado  y por obvias razones si deseamos crear dicho docuemento en nuestra aplicacion eso nos llevaria  un valioso tiempo,una de las formas muy simples de editar un documento es agregarle los famosos BookMarks (marcadores) y estos editarlos. manos a la obra...primero creamos un documento muy simple para mostrar este ejemplo, en la hoja en blanco insertaremos un marcador el cual le llamaremos "nombre" sin comillas. y lo guardaremos en el disco local C: con el nombre de marcador.doc o marcador.docx dependiendo de su version de Word. creamos una nueva aplicacions WindowsForms  y en Referencias agregamos Microsoft.Office.Interop.Word. en la cabezera pondremos : using Word = Microsoft.Office.Interop.Word; despues declaramos un elemento privado: private Word.Application apWord; y le añadimos un nuevo boton y en el evento de clic escribimo...

LLENAR UN JTABLE,LISTBOX Y COMBOBOX CON JAVA USANDO NETBEANS

he estado ocupado en unos proyectos, pero estoy de nuevo para compartir lo poco que se de desarrollo de sistemas, el dia de hoy comparto como llenar un objeto JTable en Java con datos de una base de datos MySQL. antes de continuar supongo que ya tienen conocimientos de programacion en especial en Java. Yo usare Netbeans  pero ustedes pueden usar cualquier IDE. para este ejemplo trabajaremos con 3 archivos, Clase,Interfaz y JFrame Form. Y una tabla llamada productos con los campos id,descripcion y precio, algo simple primero vamos a crear nuestra Interfaz que le llamaremos Idb (le pueden como quieran). y vamos a inicializar nuetros metodos. import javax.swing.DefaultListModel; import javax.swing.JComboBox; import javax.swing.table.DefaultTableModel; /**  *  * @nadie  */ public interface Idb {     DefaultTableModel Grid_DataSource(String sql); //LLENAR JTABLE     DefaultListModel ListBox_DataSource(String sql,String Campo); //LLE...