lunes, 16 de octubre de 2023

Cómo compartir una macro entre varias presentaciones de powerpoint

Problema: Hemos creado una macro en PowerPoint y deseamos que esté disponible en varias presentaciones de powerpoint.

Comentario: Existen varias maneras para resolver el problema pero la solución que propongo permitirá una compartición ágil solo entre aquel conjunto de presentaciones que deseemos. Para ello guardaremos el código visual basic for applications (VBA) de nuestra macro y lo importaremos en las diferentes transparencias que deseemos. 

Solución:  Una vez nuestra macro esté programada en Visual Basic, la guardaremos como archivo con extensión ".bas". Este será el archivo que importaremos cada vez.

A continuación, volveremos a la presentación y mostraremos la pestaña "Programador" en la parte superior del menú. Para ello, iremos a "Archivo" --> Abajo a la izquierda marcamos "Opciones" --> "Personalizar cinta de opciones" --> En el lado de la derecha bajo el título "Personalizar la cinta de opciones" aseguramos que está marcado "Programador". Aceptamos y arriba tendremos un nuevo menú. 

Entraremos en "Visual Basic" y en la izquierda, haremos clic derecho encima del nombre de nuestro PowerPoint, seleccionamos importar y elegimos el fichero .bas guardado. Ahora ya tendremos disponible la macro para ejecutarla aquí también.

Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 


Cómo encontrar todos los enlaces rotos en una presentación de Powerpoint

Problema: Deseamos comprobar que todos los links a páginas web que tenemos en una presentación Powerpoint estén vivos, que no estén rotos, que apunten correctamente a páginas web activas.

Comentario: En Powerpoint actualmente no existe un mecanismo para verificar que todos los link (enlaces) de una transparencia funcionen correctamente. Para ello, tendremos que crear una macro con visual basic y ejecutarla.  Además, en la programación de esta macro, no existe un mecanismo que nos devuelva todos los links de toda la presentación, tenemos que ir recorriendo transparencia a transparencia.

Solución:  A continuación comparto el código que utilizo yo. 
  • La manera de utilizarlo es ir a la pestaña "vista" --> Crear, le damos el nombre "REVISAR_HIPERVINCULOS" (atención a las mayúsculas) y copiamos este código. 
  • Para ejecutarlo, puedes pulsar en el triángulo verde que tendrás en la parte superior del editor de macros.
  • Cuando lo ejecutes, se creará un fichero de texto que se llamará "BrokenLinks.txt" en tu carpeta de usuario de Windows, que se llamará algo como "C:/Users/TU_NOMBRE" (por ejemplo, si tu usuario de Windows se llama Juan --> C:/Users/Juan o C:/Usuarios/Juan). Indicará en qué página está el enlace y de qué enlace se trata
  • Si hay enlaces rotos en la parte de notas de las diapositivas, también los identificará
  • También puedes guardar la presentación como "presentación con macros" y entonces lo tendrás siempre disponible en las macros de powerpoint. 
  • Si no quieres guardarlo dentro de la presentación, guarda como presentación normal y te saldrá un mensaje de si deseas no guardar las macros, aceptas y el código no se guardará dentro de la presentación. 
  • Para los lectores interesados explico lo que hace el código después del mismo, si eso no te interesa, simplemente copia todo el código y ejecútalo pulsando sobre el triángulo verde que tendrás en la parte superior del editor de macros (visual basic for applications, VBA):


Function CheckURL(strURL As String) As Boolean
  Dim objDemand As Object
  Dim varResult As Variant

  On Error GoTo ErrorHandler
  Set objDemand = CreateObject("WinHttp.WinHttpRequest.5.1")

  With objDemand
    .Open "GET", strURL, False
    .Send
    varResult = .StatusText
  End With

  Set objDemand = Nothing

  If varResult = "OK" Then
    CheckURL = True
  Else
    CheckURL = False
  End If

ErrorHandler:
End Function

Sub REVISAR_HIPERVINCULOS()
    Dim objDoc As Presentation
    Dim objLink As Hyperlink
    Dim strLinkAddress As String
    Dim sld As Slide
    Dim fso As Object
    Dim txtFile As Object

    Set objDoc = ActivePresentation
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtFile = fso.CreateTextFile(Environ("USERPROFILE") & "\BrokenLinks.txt", True)

    txtFile.WriteLine "BROKEN LINKS" & vbCrLf
    For Each sld In ActivePresentation.Slides
        For Each objLink In sld.Hyperlinks
            strLinkAddress = objLink.Address
            If Not CheckURL(strLinkAddress) Then
                txtFile.WriteLine "Link KO. Slide: " & sld.SlideIndex & " Link: " & strLinkAddress & vbCrLf
            End If
            DoEvents
        Next objLink
    Next sld

    txtFile.Close
    Set txtFile = Nothing
    Set fso = Nothing
End Sub



Aquí está el análisis del código, seguro que se puede mejorar y optimizar, pero os funcionará bien:

Function CheckURL(strURL As String) As Boolean:
  • Objetivo: Verificar si una URL dada es accesible o no.
  • Cómo funciona:
    • Se crea un objeto de solicitud HTTP (WinHttp.WinHttpRequest.5.1).
    • Intenta acceder a la URL (strURL) usando el método "GET".
    • Si la solicitud es exitosa, la función devuelve True si el estado es "OK". De lo contrario, devuelve False.
  • Errores: Si ocurre algún error durante la solicitud HTTP, la función devolverá False por defecto (porque las variables Boolean no inicializadas en VBA tienen un valor predeterminado de False).
Sub REVISAR_HIPERVINCULOS():
  • Objetivo: Revisar todos los hipervínculos en la presentación PowerPoint activa y registrar los que estén rotos en un archivo de texto.
  • Cómo funciona:
    • Primero, inicializa un objeto ActivePresentation, un FileSystemObject y un archivo de texto (BrokenLinks.txt) ubicado en el directorio del perfil del usuario.
    • La subrutina escribe "BROKEN LINKS" como encabezado en el archivo de texto.
    • Luego recorre cada diapositiva en la presentación activa.
    • Para cada diapositiva, verifica cada hipervínculo en la diapositiva usando la función CheckURL.
    • Si un hipervínculo no es válido (es decir, la función CheckURL devuelve False), se escribe información sobre ese hipervínculo roto en el archivo de texto, indicando el número de diapositiva y la dirección del hipervínculo.
    • Después de revisar todos los hipervínculos, cierra el archivo de texto y libera los objetos utilizados.
Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 


sábado, 11 de febrero de 2023

Cómo automatizar la asignación de tareas a una persona y de fechas límite en Trello

Problema: Deseamos que cada vez que se agregue una nueva tarjeta a una cierta lista, por ejemplo "Subobjetivos del paquete de trabajo 1", se asigne automáticamente a un miembro de tu equipo y se agregue una fecha límite, por ejemplo, de 7 días.

Comentario: Puedes lograr esto utilizando una automatización de Zapier. Zapier es una plataforma que permite a Trello y otras herramientas trabajar juntas. Hay que tener en cuenta que Zapier es una herramienta de pago, pero con la versión gratuita, puedes crear cinco automatizaciones llamadas "Zaps", que se activan cada 15 minutos. Esto puede ser suficiente para muchos usuarios. Aquí está el proceso para crear esta automatización:

Solución:
  • Conecta Trello y Zapier: Primero, debes conectar tu cuenta de Trello y Zapier.
  • Crea un nuevo Zap: Haz clic en el botón "Make a Zap" en la plataforma de Zapier.
  • Especifica el trigger: Especifica que el trigger para la automatización sea "Nueva tarjeta agregada a una lista en Trello".
  • Selecciona el tablero y la lista apropiados: Selecciona el tablero y la lista "Ideas de campaña" donde quieres que se active la automatización.
  • Especifica la acción: Especifica que la acción para la automatización sea "Asignar un miembro a una tarjeta en Trello" y "Agregar una fecha límite a una tarjeta en Trello".
  • Configura los detalles de la acción: Configura los detalles de la acción, especificando a qué miembro se le debe asignar la tarjeta y cuándo debe vencer la fecha límite (7 días después de la fecha de creación de la tarjeta).
  • Prueba la automatización: Prueba la automatización para asegurarte de que funciona correctamente.
  • Ahora, cada vez que agregues una nueva tarjeta a la lista "Ideas de campaña", se asignará automáticamente a un miembro de tu equipo y se agregará una fecha límite de 7 días. Esto te ayudará a mantener un seguimiento eficiente de tus proyectos de marketing y a ahorrar tiempo al evitar tener que realizar estos pasos manualmente.
Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 


lunes, 30 de enero de 2023

Cómo dividir un documento Word en varios sub-documentos automáticamente

Problema: Deseamos dividir un documento de Microsoft Word pero no queremos ir haciendo copy-paste sino dividirlo de acuerdo a sus secciones, número de párrafos o páginas..

Comentario: Existe una manera más rápida y automática para dividir un documento en varios documentos menores, formados por trozos del documento primario. La función "Dividir documento" permite dividir un documento grande en varios documentos más pequeños basados en los criterios mencionados. Procederemos del siguiente modo:

Solución:
  • Abre el documento que deseas dividir en Microsoft Word.
  • Haz clic en la pestaña "Herramientas" en la barra de menús.
  • Haz clic en "Dividir documento".
  • Selecciona la opción de "Dividir basado en" (párrafos, secciones o páginas).
  • Especifica el número de secciones, párrafos o páginas que deseas en cada documento dividido.
  • Haz clic en "Dividir".
  • Se crearán varios documentos con los contenidos del documento original dividido según la opción que hayas seleccionado.
Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 


Cómo combinar documentos en Word: Un tutorial paso a paso

Problema: En ocasiones, puede ser necesario juntar varios documentos en uno solo para tener toda la información en un solo lugar. Este proceso se conoce como combinación de documentos. Si no tienes experiencia en combinar documentos en Word, no te preocupes, es un proceso muy sencillo una vez que conoces los pasos. En este tutorial, te mostraré cómo utilizar la función "Combinar documentos" que se encuentra en la pestaña "Comentar" en la cinta de opciones.

Solución:
  1. Abra el documento principal en el que desea combinar los otros documentos.
  2. Vaya a la pestaña "Comentar" en la cinta de opciones y haga clic en "Combinar documentos".
  3. Seleccione "Combinar documentos de una sola fuente" o "Combinar documentos de varias fuentes". 
    1. Combinar documentos de una sola fuente: permite combinar varias páginas de un mismo documento en un documento principal. Es decir, puede elegir varias páginas de un mismo documento para combinarlas en otro documento.
    2. Combinar documentos de varias fuentes: permite combinar varios documentos en un solo documento principal. Es decir, puede elegir varios documentos de diferentes fuentes para combinarlos en un solo documento.
  4. Si eligió "Combinar documentos de una sola fuente".
    1. Seleccione el documento de origen y seleccione las páginas que desea combinar en el documento principal.
    2. Haga clic en el botón "Añadir" para agregar las páginas seleccionadas al documento principal.
    3. Puede personalizar la forma en que las páginas se combinan
    4. Haga clic en "Combinar" para combinar las páginas seleccionadas en el documento principal.
  5. Si eligió "Combinar documentos de varias fuentes", seleccione los documentos que desea combinar y configure la forma en que desea combinarlos.
  6. Haga clic en "Aceptar" para combinar los documentos en el documento principal.
Esta función es más eficiente que ir abriendo y pegando documentos manualmente ya que permite combinar varios documentos de manera rápida y fácil, sin tener que abrirlos uno por uno y copiar y pegar su contenido.

Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 


Cómo automatizar la gestión de correos electrónicos en Outlook

Problema: Deseamos gestionar nuestros correos de una manera más automática para ahorrar tiempo y aumentar nuestra eficiencia.

Comentario: A continuación se explicará cómo conseguir las siguientes tareas que nos ayudarán en automatizar las gestión de correos electrónicos en Outlook:

1. Reglas de correo electrónico para filtrar y organizar automáticamente tus correos electrónicos. Puedes crear reglas para mover correos electrónicos a diferentes carpetas, marcarlos como leídos, y enviar alertas.

2. Respuestas rápidas para respuestas comunes a correos electrónicos. Esto te ahorrará tiempo y te permitirá responder de manera eficiente.

3. Plantillas de correo electrónico para correos electrónicos que envías con frecuencia y que deseamos que tengan un aspecto profesional y uniforme.

4. Algunos add-ins: permiten automatizar tareas específicas, como la clasificación de correos electrónicos no deseados o la gestión de firmas electrónicas.

Solución:

Reglas de correo electrónico: 
a. Abre Outlook y haz clic en "Archivo" en la esquina superior izquierda. 
b. Haz clic en "Reglas y alertas" en el panel de navegación de la izquierda. 
c. Haz clic en "Nueva regla" en la sección "Reglas". 
d. Sigue las instrucciones para crear una regla para filtrar y organizar automáticamente tus correos electrónicos, como mover correos a una carpeta específica, marcarlos como leídos, y enviar alertas.

Respuestas rápidas: 
a. Haz clic en "Archivo" en la esquina superior izquierda de Outlook. 
b. Haz clic en "Opciones" en el panel de navegación de la izquierda. 
c. Haz clic en "Mensajes de correo electrónico" en el panel de la derecha. 
d. Haz clic en "Respuestas rápidas" en la sección "Redacción y formato". 
e. Haz clic en "Nueva respuesta rápida" y sigue las instrucciones para crear una respuesta rápida para correos electrónicos comunes.

Plantillas de correo electrónico: 
a. Haz clic en "Archivo" en la esquina superior izquierda de Outlook. 
b. Haz clic en "Opciones" en el panel de navegación de la izquierda. 
c. Haz clic en "Mensajes de correo electrónico" en el panel de la derecha. 
d. Haz clic en "Plantillas de mensaje" en la sección "Redacción y formato". 
e. Haz clic en "Nueva plantilla de mensaje" y sigue las instrucciones para crear una plantilla de correo electrónico para correos electrónicos que envíes con frecuencia.

Pasos para instalar un add-in en Outlook y algunos add-ins interesantes:
a. Haz clic en "Archivo" en la barra de menús en la parte superior.
b. Haz clic en "Complementos de Office" en la barra de menús a la izquierda.
c. Haz clic en "Obtener complementos" en la barra de menús a la derecha.
d. Busca el complemento que deseas instalar y haz clic en "Añadir".
e. Sigue las instrucciones para instalar el complemento en Outlook.

Algunos de los add-ins más populares para la automatización de tareas en Outlook incluyen:

Boomerang: Este add-in te permite programar correos electrónicos para que se envíen en un momento futuro, así como también te permite recibir recordatorios para responder a mensajes no leídos.

Todoist for Outlook: Este add-in te permite añadir tareas directamente desde tus correos electrónicos y mantener un registro de ellas en una lista de tareas.

Microsoft Power Automate: Este add-in te permite crear flujos de trabajo automatizados para tareas repetitivas en Outlook, como mover automáticamente mensajes de correo a diferentes carpetas o etiquetarlos con categorías.
  • Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 


lunes, 19 de diciembre de 2022

Cómo grabar el video y sonido de una ventana en Windows

Problema: Deseamos grabar lo que está sucediendo en una de nuestras ventanas de Windows, una ventana de una aplicación concreta. Por ejemplo, esto funcionaría bien con grabación de webinars.

Comentario: Esta solución no cubre el caso en el que deseamos capturar todo lo que ocurre en una pantalla. Solo se soluciona la captura de una ventana de una aplicación concreta.

Solución:
  • Pondremos el ratón activo en la ventana que deseamos grabar, por ejemplo haciendo click.
  • Pulsamos simultáneamente la combinación de teclas WIN+G. Esto abrirá un panel de gaming de Windows.
  • En una ventanita flotante que aparecerá, picaremos en el tercer icono "capturar".
  • Aparecerá una nueva ventana flotante en la que podremos pulsar en el clásico botón de grabación (círculo). Lo pulsamos.
  • Si lo deseamos, podemos volver a la aplicación que se estará grabando. 
  • Veremos que en todo momento aparece una mini ventana que nos permite parar la grabación. Además, si minimizamos o cerramos la ventana que se está grabando, se parará también.
  • Por defecto se guarda el vídeo en C:\Users\Nombre\Videos\Captures
Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias!