Me gustaría completar el apartado de macros con un consejo sobre la estructura de las mismas cuando usan formularios.
Estos días he visto algunas macros con formularios bastante caóticas en las que todo el código está dentro del envento click de los botones y en varios de ellos se repite código. Por ello, me gustaría plantear una estructura bastante simple que puede ayudarnos mucho a la hora de mantener el código.
Como se muestra en la imagen anterior, por un lado tendremos un formulario con sus eventos y las funciones auxiliares (limpiar campos de texto, cargar datos en los controles...) y por otro un módulo dentro del proyecto en el que meteremos el código del resto de las funciones.
Con esto vamos a conseguir una mayor claridad y reutilización del código.
Agregar un tema con este programa es tan simple como elegir el idioma de la instalación de Sharepoint, seleccionar la carpeta que contiene las imágenes del tema y, por último, la imagen de la vista previa del tema y el resto de logos que deseemos incorporar teniendo en cuenta que la primera imagen que debemos cargar es la vista previa.
Además de esto, en el menú "Acciones" tenemos la opción "Resetear Alicación" que permite empezar de nuevo.
Si no ha leído el resto de posts relacionados con temas de Sharepoint, le recomiendo que les eche un vistazo y, si tiene alguna duda, puede publicar un comentario exponiéndola.
Agregar un tema en Sharepoint es algo muy sencillo que se puede resumir en 3 pasos:
Copiar la carpeta del tema que hemos creado en la siguiente ruta: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES\.
Copiar la imagen de la vista previa del tema en la siguiente ruta: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES.
Modificar el archivo SPTHEMES.XML de la siguiente ruta: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\. Esto se hace para que aparezcanuestro tema en la lista de temas a la que se llega desde Site Settings -> Site Theme.
Como hemos visto, agregar un tema en Sharepoint es algo muy simple pero también algo pesado si se instalan muchos o, si no se instalan muy frecuentemente, ya que lo normal es que se olvide cómo hacerlo y tendremos que perder tiempo en buscar esta información cada vez que agreguemos un tema. Por esto, he hecho un programa muy fácil de usar que hace esto seleccionando el idioma de la instalación de Sharepoint que tenemos instalada, la carpeta que contiene el tema y la imagen de la vista previa del mismo.
En un post posterior publicaré un manual de cómo usar dicho programa.
Para los que no sepan cómo son los temas de en Sharepoint, creo que lo primero que deberían hacer es ver un tema existente, tanto aplicado en algún sitio de alguna aplicación como la carpeta que contiene las imágenes de dicho tema.
Aplicar un tema en un sitio de la aplicación es tan simple como ir a "Site Settings" y luego pulsar en "Site Theme". Una vez estemos en este punto, veremos una lista de temas en la parte derecha y una imagen con la vista previa del tema seleccionado en la parte izquierda.
Para ver la carpeta que contiene el tema tendremos que ir a la carpeta del tema (C:\Archivos de programa\Archivos comunes\Microsoft shared\web server extensions\12\TEMPLATE\THEMES\[NombreTema] si hemos instalado Sharepoint en castellano o C:\Program Files\Common Files\Microsoft shared\web server extensions\12\TEMPLATE\THEMES\[NombreTema] si hemos instalado Sharepoint en inglés).
Si hemos abierto la carpeta del tema, nos habremos dado cuenta de que además de las imágenes del tema, en la carpeta hay dos archivos:
Un archivo que se llama igual que el tema y tiene extensión .INF. Si creamos una tema nuevo, recomiendo que se copie este archivo de un tema de ejemplo y lo editemos (con el Bloc de notas por ejemplo), cambiando el nombre del tema de ejemplo por el nombre del nuevo tema.
Un archivo theme.css. No hace falta decir que este archivo define el estilo, sólo tenemos que editarlo a nuestro antojo.
Además de lo anterior, deberíamos crear una imagen que muestre cómo va a quedar el tema una vez instalado, teniendo en cuenta que su nombre debe comenzar por "th". También es importante que la carpeta que contiene el tema tenga el mismo nombre que el archivo .INF.
Ya sólo falta por explicar cómo añadir el tema en Sharepoint, pero eso lo dejo para un post posterior.
Como dije anteriormente, hay más formas de agregar un botón en una barra en Office 2003. Aunque para este ejemplo he usado Word, el proceso es el mismo para el resto de programas de Office 2003 (excepto Outlook).
Lo primero que debemos hacer es ir a Herramientas->Personalizar.
En el cuadro de la izquierda pinchamos en la categoría en la que queremos agregar el botón y pulsamos "Reorganizar comandos...".
Pinchamos en el botón "Agregar" y aparecerá la siguiente ventana. En ella seleccionamos en el cuadro de categorías "Macros", en el de comandos la macro que deseemos asociar al botón y pulsamos "Aceptar".
En la siguiente ventana vemos la barra de herramientas con una nueva opción, la macro que hemos agregado.
Si pulsamos en "Modificar Selección" podemos editar el nombre que aparece y podemos añadir un dibujo a la izquierda de la macro como se muestra en la siguiente imagen.
Con esto, obtenemos un nuevo botón que ejecuta una macro en la barra de herramientas que queramos. Como han visto, en Office 2003 es algo muy simple.
En este ejemplo voy a mostrar cómo hacer un formulario que carga datos en un plantilla de Word de una forma muy simple.
Voy a empezar mostrando el resultado para que sea más simple entender el código. Tenemos una plantilla de Word muy sencilla (se puede complicar todo lo que queramos) y queremos que aparezca un formulario para introducir los datos en él y que se carguen a su vez en el lugar correspondiente en la plantilla. Como el usuario final puede no tener mucha idea de informática, hemos creado un nuevo botón en la pestaña "Ver".
Cuando hagamos click en "Formulario Carga Datos" aparecer´el siguiente formulario.
Cuando hagamos click en el botón "OK" los datos se cargarán automáticamente en el documento.
Hasta aquí he mostrado el resultado, ahora voy a contar cómo se hace.
Por un lado tenemos el formulario (sólo hay que dibujarlo):
Por otro el código (basta con hacer doble click en el botón "OK" y luego pegar el siguiente código).
Private Sub OK_Click() Selection.GoToWhat:=wdGoToBookmark, Name:="NombreC" Selection.TypeText Text:=Nombre.Text
Private Sub UserForm_Initialize() 'Con esto cargamos la fecha en el label 6 Label6.Caption = Date End Sub
Finalmente, sólo me falta contar cómo agregar un botón en una pestaña. Para ello hay varias opciones pero quizá la más sencilla sea pinchar en Herramientas->Personalizar.
En la ventana que aparece buscamos en la parte izquierda "Macros", posteriormente pinchamos en la macro que queramos agregar y la arrastramos a la pestaña en la que deseemos colocarla.
En este caso vamos a usar Word 2003 para explicar cómo crear una macro pero se hace igual con el resto de los programas de Office.
En primer lugar, abrimos Microsoft Word 2003 y pinchamos en Herramientas->Macro->Editor de Visual Basic.
Se abrirá una nueva ventana (el editor de Visual Basic).
El editor de Visual Basic que viene con Office tiene una apariencia parecida a la de un compilador, aunque mucho más sencillo. Antes de seguir creo que es conveniente aclarar que en este compilador podremos hacer Scripts muy potentes pero en VBA (Visual Basic for Applications), no en Visual Basic. Si queremos programar funcionalidades más avanzadas o en otro lenguaje debemos usar Visual Studio.
Para añadir un módulo en el que incluir código o un formulario, basta con pinchar con el botón derecho sobre el proyecto (en la ventana de proyecto), situar el puntero sobre insertar y, posteriormente, hacer click en la opción deseada.
Con esto, si han programado antes, sólo les falta conocer el modelo de objetos de VBA y familiarizarse con dicho lenguaje.
Para crear una macro en Office 2007 lo primero que debemos hacer es activar la ficha de programador. Para ello seguiremos los siguientes pasos: Pinchamos en el botón Office
Pinchamos en "Opciones de Word".
Y seleccionamos el 3º checkbox de la pestaña "Más frecuentes".
Ahora tenemos una nueva pestaña en la Ribbon.
Si pichamos en Visual Basic se abre el editor de dicho lenguaje en el que podremos programar nuestras macros como siempre.
En algunas ocasiones, cuando instalamos una aplicación, ciertos archivos ya existen en el sistema en el que estamos creando los paquetes (esto pasa sobretodo con .dll). Por eso es recomendable usar una máquina lo más limpia posible, pero si nos ocurre esto, podemos agregar esos archivos que no se han incluido en el paquete “a mano”. Para ello primero pinchamos sobre el nombre del paquete creado y luego en “Files”. En la parte derecha comprobamos que esté seleccionada la pestaña “Add” y en la parte central veremos todos los archivos que contiene el paquete.
Lo primero que haremos es buscar un archivo que esté en el directorio en el que debería estar el archivo que queremos añadir, cuando lo encontremos pinchamos dos veces sobre él ( con el botón izquierdo ) y nos aparecerá una ventana como la siguiente.
Copiamos el número que he rodeado con la línea roja y pulsamos aceptar. Pinchamos en el botón al que apunta la flecha de la siguiente imagen para agregar el archivo.
Nos aparecerá la siguiente ventana, en ella buscamos el número que hemos copiado antes y pulsamos “OK”.
Por último, en esta ventana, seleccionamos el archivo que deseamos agregar al paquete.
Para terminar, sólo queda guardar y volver a comprimir (si se desea).
Ya podemos ver la tele a través de MSN Messenger simplemente agregando el contacto “messengertv@live.com” a nuestra lista de contactos. Tras agregar dicho contacto podemos compartir videos con nuestros amigos o ver la tele nosotros solos simplemente abriendo una ventana de conversación con el contacto que hemos agregado y aceptando la invitación que aparece.
Esta tarde he recibido un mail de un compañero de la oficina de Barcelona (Joan Guixà) en el que nos recomendaba un programita llamado “BtProx- Bluetooth Proximity Lock Utility” ya que en la oficina en cuanto te separas de tu ordenador sin bloquearlo antes siempre hay alguien que aprovecha para mandar algún tipo de e-mail “gracioso” con tu cuenta. Tengo que reconocer que cuando estaba leyendo el mail no creía que funcionara pero lo he probado y FUNCIONA!!!
Lo primero que tenemos que hacer si queremos usar este programita es descargarlo de:
Tras terminar la descarga lo instalamos y cuando lo ejecutemos nos aparecerá el siguiente formulario:
Lo primero que debemos hacer es buscar el dispositivo al que nos vamos a conectar. Para ello pulsamos en el botón de los tres puntos situado en la esquina superior derecha y cuando termine la búsqueda seleccionamos el dispositivo.
Lo segundo seleccionar el tiempo que deseamos que transcurra entre que se pierde la conexión con el dispositivo y se ejecuta el comando (en mi caso 0).
Posteriormente, debemos introducir el comando. Para bloquear el PC cuando se pierda la conexión con nuestro móvil debemos introducir el siguiente comando:
rundll32.exe user32.dll, LockWorkStation
Ya sólo queda pulsar el botón “Start” (y luego a “Hide” para que el programa se ejecute en un segundo plano) .
En primer lugar me gustaría explicar qué vamos a hacer. El objetivo de este tutorial es crear un archivo .msi que instala un programa en modo desatendido o silencioso, es decir, nosotros crearemos un archivo que instalará un programa sin tener que seguir ningún asistente y sin que veamos nada. Esto es muy útil si utilizamos herramientas como System Center.
Como una imagen vale más que mil palabras y el objetivo de este tutorial es que cualquier persona pueda seguirlo, aunque sus conocimientos de informática no sean muy amplios, iré paso por paso y pondré el mayor número de capturas de pantalla.
Empezamos abriendo WinInstall.
Pinchamos en “Windows Installer Packages” y posteriormente en la lupa que aparece.
Tras pinchar en la lupa, aparecerá la siguiente ventana en la que sólo tenemos que pinchar en “OK”.
En la siguiente ventana de nuevo, sólo tenemos que pulsar sobre “Next”.
En la siguiente ventana introducimos el nombre que queremos dar al paquete en el primer cuadro de texto y el segundo se rellena automáticamente con la ruta en la que se creará el paquete (se pude modificar).
En esta ventana sólo hay que pulsar en el botón “Sí”.
En este paso seleccionamos la unidad donde se va a instalar el programa que queremos paquetizar y pulsamos “Next”.
En la siguiente ventana seleccionaremos todos los discos en los que se van a producir cambios durante la instalación del programa (pinchando primero en la unidad y luego en “Add”).
En esta ventana detallamos las exclusiones de archivos que no queremos chequear al realizar la “foto” del disco duro. Activamos el checkbox de “Machine´s exclusions y es importante quitar la exclusión del directorio raíz “/” y la línea en blanco ya que si no, no chequeará correctamente la unidad seleccionada anteriormente. En algunos casos es necesario incluir más exclusiones.
Activamos “Machine’s exclusions” y pinchamos en “Next".
En los siguientes pasos sólo hay que avanzar por el asistente.
En este paso tenemos dos opciones, o seleccionar el archivo que queremos instalar o pinchar en cancelar e instalar el programa ejecutándolo como se hace normalmente (opción que recomiendo).
Ahora vamos a crear la “foto posterior”. Una vez hayamos instalado el programa, volvemos a Wininstalll, pinchamos de nuevo en “Windows Installer Packages” y posteriormente en la lupa y nos aparecerán las siguientes ventanas en las que sólo nos tenemos que preocupar de pinchar en “ok”, “aceptar” o similar.
*Nota:Si aparece este mensaje es porque todo ha ido correctamente y se ha generado el paquete .msi (junto con otros archivos de instalación) del Software instalado.
Ahora pinchamos en “Windows Installer Packages” y pulsamos F5 para actualizar la lista de paquetes. Pinchamos en el nombre del paquete y luego pinchamos en la pestaña “Install Modes” y seleccionamos la opción “Install only per machine”.
Ahora guardamos (pinchando en el diskette que hay debajo de “File”) y comprimimos el paquete pinchando en su nombre con el botón derecho y posteriormente en “compress”. Con esto conseguimos unificar todos los archivos en uno sólo (nombrePaquete.msi). Una vez hecho esto ya hemos terminado.