Páginas

miércoles, 30 de noviembre de 2016

Como copiar una carpeta (y subcarpetas) usando la linea de comandos (Windows)


C:\robocopy carpetaOrigen CarpetaDestino /e /mir

El switch "/e" crea los subdirectorios que estan dentro de la carpeta de origen
El switch "/mir" sirve para crear un "espejo" de la carpeta de origen, ideal para un backup. Si lo elimino un archivo en la carpeta de origen, al copiar se eliminara tambien de la carpeta de destino.

martes, 15 de noviembre de 2016

Como agregar tus programas al boton derecho del mouse

Hace unos dias cree un programa en python que tomaba el path a un archivo de
excel, lo leia, extraia algunos datos y creaba un archivo csv con la
informacion.

Para pasar el path al script, tenia que escribir la ruta en la linea de
comandos, lo cual estaba bien para mi, pero si deseaba compartir mi programa
con algun companero tendria que encontrar una forma mas sencilla de utilizarlo.

Y nada mas facil que hacer click con el boton derecho del mouse sobre el archivo que
deseaba procesar. Asi que buscando un poco en internet encontre dos maneras de
agregar mi script al boton derecho:

La forma larga.
Utilizando el programa regedit.exe se puede crear un path hacia la aplicacion
el el registro de Windows.
1. En la linea de comandos buscamos el programa regedit.exe


2. Seleccionamos la carpeta HKEY_CLASSES_ROOT/*/shell
3. En 'shell' con boton derecho agregamos un 'KEY' con New->Key y le ponemos
el nombre con el que queremos que salga en el menu derecho del mouse. En mi
caso la aplicacion se llama "Make CSV"



4. Agregamos otro key dentro de la carpeta recien creada, esta vez con el
nombre de 'command'
5. Hacemos doble click sobre '(Default)' y emerge una ventana dentro de la
cual ingresamos el path hacia el interprete de python y el path hacia el
programa.
En mi caso el valor a ingresar fue: "C:\Python27\python.exe"
"D:\myScripts\csvmaker\main.py" "%1"
El '%1' se utiliza para pasar a python el path del archivo sobre el cual se
hace click derecho.


Y eso es todo, el script esta ahora accesible desde el menu derecho del mouse.


La forma corta. 
Se crea un archivo '.reg' que contenga la siguiente informacion:

Windows Registry Editor Version 5.00
 [HKEY_CLASSES_ROOT\*\Shell\Make CSV\command]
@="\"C:\\Python27\\python.exe\" \"D:\\myScripts\\csvmaker\\main.py\" \"%1\""

Entro los brackets [] va la ruta donde se alojara la aplicacion
Luego de '@=' va la ruta hacia el interprete de Python y el Script, tal como
especificamos arriba, aunque con muchos 'scape characters'

En mi caso guarde el archivo como csvmaker.reg. Al ejecutar este archivo, el
script se agrega automaticamente al menu. Este metodo tiene la gran ventaja de
que hace mas sencillo aun compartir tus aplicaciones con otros usuarios. Basta
con enviarles el archivo '.reg' y sus maquinas quedaran configuradas para
utilizar tus aplicaciones sin
ningun esfuerzo.

martes, 19 de enero de 2016

VBA OUTLOOK: Como guardar los adjuntos en una seleccion de correos

La clave es utilizar la propiedad "Selection" del Objeto explorer:


Sub guardarAdjuntos()

Dim mensaje As MailItem
Dim mensajes As Variant
Dim adjunto As Attachment
Dim carpeta As String

'escribo el nombre de la carpeta
carpeta = "D:\miCarpeta\"

'Va por cada elemento seleccionado
For Each element In Application.ActiveExplorer.Selection
   'verifica que el elemento sea un mensaje de correo
   If TypeName(element) = "MailItem" Then
        Set mensaje = element
        If mensaje.Attachments.Count > 0 Then 'si hay algun adjunto
            For Each adjunto In mensaje.Attachments 'explora cada adjunto en el mensaje
                adjunto.SaveAsFile (carpeta & adjunto.FileName)
            Next
        MsgBox "Adjuntos guardados: " + mensaje.Subject
        End If
   End If
Next
End Sub