Páginas

miércoles, 30 de septiembre de 2015

Cursos para mejorar tu hoja de vida.

Muchas veces he escuchado de conocidos que hacen cursos, diplomados, maestrías para 'mejorar su currículum', casi nadie me ha dicho "porque quiero aprender X, Y...". Siempre me ha parecido que ir por el título es una motivación incorrecta y hoy leí algo que de cierta forma suma a mi punto. Dice así:

"Esto va a sonar controversial pero ahí va: si eres sobresaliente, sorprendente o simplemente espectacular en tu trabajo probablemente ni siquiera deberías tener un curriculum. Si tienes experiencia haciendo las cosas que te vuelven indispensable pues bien un curriculum esconde ese hecho. Un curriculum da al empleador todo lo que necesita saber para descartarte. Si no tienes un curriculum, ¿que tienes?. ¿Que tal tres extraordinaras cartas de recomendación de gente que el empleador conozca o respete?, O ¿un proyecto muy sofisticado que El empleador pueda ver o incluso tocar?, o ¿una reputación que te preceda? Algunos dirán 'eso suena bien, pero no tengo ninguna de ellas'. Sí, ese es mi punto. Si no tienes estas cosas que nos llevan a creer que eres una persona sobresaliente suena para mí que lo único que tienes es un curriculum. Busca una empresa que no utilice una computadora para escanear currículums, una empresa que contrate gente no papel." -Seth Godin. 

Suena bien eso de "soy tan bueno que no necesito una hoja de vida", pero en la realidad de nuestro mercado laboral eso está muy lejos de ser aceptado. 

Y si lo piensas bien, ser todo lo que Godin propone no es nada fácil, de hecho es más fácil obtener un título. ¿Dónde me inscribo?

miércoles, 23 de septiembre de 2015

VBA Excel: Como eliminar las celdas vacias en un rango.

Fue mucho mas facil de lo que imaginaba, la clave fue el metodo SpecialCells del objeto Range:

'Defino el rango que contiene las celdas en blanco
set rango = Thisworkbook.Sheets("Sheet1").Range("A1", "A500")

'Con el metodo SpecialCells genero un rango que agrupa las celdas vacias
Set celdasVacias = rango.SpecialCells(xlCellTypeBlanks)

'Elimino las filas
celdasVacias .EntireRow.Delete

miércoles, 2 de septiembre de 2015

VBScript: Como enviar un reporte por correo automáticamente

"Por favor envíame tu reporte..." Si no es la frase más detestada para cualquiera que trabaje en un área administrativa, de seguro debe estar en el top 5 fijo...

Aunque bueno, no debería molestarnos porque se supone que es nuestra responsabilidad que la información sea oportunamente distribuida al equipo de trabajo, por lo que este tipo de solicitudes nunca deberían presentarse. 

La persona organizada y disciplinada establecería uno o dos momentos en el día para realizar esta tarea. El vago hace un script que se encargue de eso. 

Pequemos de vagos entonces:

Crea un archivo de texto con el block de notas, por ejemplo enviarReporte.txt

Dentro del archivo escribe el siguiente texto, en el cual vas a modificar el texto en azul según tus necesidades:

para = "mail1@empresa.com; mail2@empresa.com; mail3@empresa.com"
asunto = "Reporte"
mensaje = "Estimados, adjunto reporte."
adjunto = "C:\reportes\reporte.xlsx"
Set outlook = CreateObject("Outlook.Application")
Set correo = outlook.CreateItem(olMailItem)
correo.To = para 
correo.Subject = asunto
correo.Body = mensaje
correo.Attachments.Add(adjunto)
correo.Send 

Ahora cambia la extensión del archivo de ".txt" a ".vbs".

Qué cosa? No sabes? Mr MBA?! Bueno ya aquí te explico cómo hacerlo

Ya tienes un script de Visual Basic, basta con hacer doble click sobre este para enviar un correo a los destinatarios que especificaste con tu reporte como adjunto.

Pero yo no quiero tener que hacer click, nadie quiere. La idea es que todo esto se haga automáticamente. 

En esta parte nos ayuda el programador de tareasAllí vas a indicar la hora y los días de la semana en que quieres que se ejecute el script, y listo nunca más tendrás que escuchar la espantosa frase con la que comenzamos el post.


Fundamentos: Usar el programador de tareas

Para ejecutar un script automáticamente a una determinada hora, se utiliza el programador de tareas:

  • Inicio
  • Control Panel
  • System and Security
  • Administrative Tools >>> Schedule Tasks

Se abre el Task Scheduler, entonces:

  • Action >>> Create Basic Task
  • Se pone un nombre de la tarea y una descripcion para saber que es lo que hará
  • Click en siguiente.
  • Luego se especifica si se quiere que la tarea se ejecute diario, semanal, mensual etc...
  • Click en siguiente.
  • Se especifica la fecha y la hora en la que comenzará la tarea. 
  • Click en siguiente.
  • En la accion seleccionamos "Start a Program"
  • Click en siguiente.
  • Buscamos con browse la direccion del script y lo seleccionamos. 
  • Click en siguiente y luego en Finish.

Fundamentos: Como cambiar la extension de un archivo


  • Entrar a la carpeta que contiene el archivo.
  • Ir a tools > folder options
  • Ir a View
  • En la seccion de Advanced Settings, buscarla opcion 'Hide extensions for known file types' y deseleccionarla.
  • Hit Ok.

Ahora si, ir al archivo, click derecho y cambiar la extension.