jueves, 27 de octubre de 2016

Listar Archivos Excel VBA Macros:

Listar Archivos:
La siguiente macro lista los archivos de una carpeta (parámetro)
Sub Recuperar_lista_principal()
Dim s_TuRuta
s_TuRuta = "C:\Users\Jesus\Desktop\PaginasFacebbokMyExcelTools\"
Call Mostrar_Archivos(s_TuRuta)
End Sub
'______________________________
Sub Mostrar_Archivos(s_ruta)
Dim fso, carpeta As Object, o_archivo As Object
Dim o_subcarpeta As Object, i_avanza As Integer
i_avanza = 0
Set fso = CreateObject("Scripting.FileSystemObject")
If s_ruta = "" Then
Exit Sub
ElseIf Right(s_ruta, 1) <> "\" Then
s_ruta = s_ruta & "\"
End If
On Error GoTo Salir
Set carpeta = fso.GetFolder(s_ruta)
For Each o_archivo In carpeta.Files
i_avanza = i_avanza + 1
Range("A1").Offset(i_avanza, 0).Value = s_ruta & o_archivo.Name
Next
For Each o_subcarpeta In carpeta.SubFolders
Mostrar_Archivos (o_subcarpeta)
Next
Exit Sub
Salir:
MsgBox "No se ha encontrado la ruta", vbInformation, "Listado de archivos"
End Sub

Eliminar Filas vacías en una Base De Datos:

0. Seleccione la Base (A1:C11)
1.0. Clic en la tecla [F5]…
1.1. En el cuadro de dialogo “Ir”…Clic en el botón [Especial…]
1.2. Seleccione la opciòn celdas en blanco…Clic en [Aceptar]
Se han seleccionado las filas en blanco
2.0. Clic en las tecla [CTRL] y en la tecla [ - ] (Al mismo tiempo)

Usando Excel Online - Office 365

Usando Excel Online - Office 365 (desde la cuenta de Outlook o Hotmail)
1. Iniciar sesión desde outlook.live.com
2. Ir al botón de acceso de aplicaciones en línea.
3. Elija la aplicación a emplear (Excel Online)
-Esta característica podría sacarnos de apuros al estar en una PC sin office.
-Nos permite exportar (opcional) una copia como archivo local.
-Elegir editar (opcional) la versión online (Siempre y cuando la versión de Excel local soporte la características de la versión online .Ejemplo SI.CONJUNTO.
-Esta versión del office integra las nuevas funciones de Excel 2016 como SI.CONJUNTO.
*La función SI.CONJUNTO es válida para Excel 2016 en adelante.
-Estos archivos se guardan en el OneDrive y podrás compartirlo con diversos usuarios.

Reduciendo el tamaño de los libros:

En ocasiones es probable que nuestros archivos de Excel se vuelvan considerablemente pesados (“archivo imposible de adjuntar por correo”).
-Puede ser por la cantidad de fórmulas, datos u objetos, gráficos)…para evitar la demora al abrir o guardar podemos realizar algunos correctivos.
-Asegurarnos de eliminar las filas y columnas fuera del límite de datos usados.
(Seleccione las columnas y filas vacías fuera del área de trabajo y de clic derecho [Eliminar].
-Guarde el archivo como Libro binario.
*Según la documentación el libro no perderá ninguna característica.
Archivo>Guardar Como>Libro Binario de Excel (*.xlsb)

Optimizando Excel

En ocasiones el funcionamiento de Excel puede verse ralentizado por diversas causas:
-Instancias de Excel ocultas (consumiendo la memoria)… para verificar este comportamiento puede hacer lo siguiente...
Clic derecho en la barra de estado>Seleccione Administrador de tareas >Procesos (verifique las instancias de Excel.exe abiertas – puede ser necesario cerrar todas y reiniciar la aplicación)
Opcionalmente puede descargar Process Explorer desde la web de Microsoft
https://technet.microsoft.com/…/sysint…/processexplorer.aspx
-Instalaciones dañadas (En ese caso deberá recurrir al disco de instalación y Reparar)
-Librerías dañadas (para eliminar los controles dañados ejecute Temp File Deleter)
https://www.add-ins.com/temp_file_deleter.htm.
Elija la opción que hace referencia a Eliminar archivos EXD (librerías que podrían estar dañadas).
Luego de esto se recomienda reiniciar la pc y reparar office.
-Verifique que no tenga algún complemento o Com Add-in dañado (pruebe deshabilitarlos)
-El problema puede deberse a un libro en particular (Pruebe la frecuencia del problema con diferentes archivos).
-Mantenga su paquete de office con los service pack actualizados.
-Podría existir algún conflicto con el antivirus (manténgalo actualizado).


Reparar un Libro Dañado:

Alguna vez podríamos recibir el mensaje “El contenido del libro está dañado”.Para librarnos de este lió y salvar la info puede realizar las siguientes acciones.
-Mantenga la calma.
-Crea un nuevo libro y pruebe ir moviendo cada una de las hojas desde el libro dañado hacia el libro nuevo.
-Cada vez que mueva una hoja(s) hacia el libro nuevo presione guardar (Así cuando salte el error “Libro dañado” sabrá que encontró la hoja que produce el problema.
Ahora que ya identifico el problema solo debe volver al libro dañado y eliminar esa hoja (será la única que debes reconstruir…todo va a estar bien).
El problema puede tener diversos orígenes .Pero uno podría ser que algún objeto imagen o los hipervínculos hallan provocado el deterioro de alguna hoja (Lo bueno es que el problema a veces solo afecta una hoja… Puede tratar moviendo las hojas de 2 en 2, 4 en 4, son variantes y mejoras del plan para salvar el libro.
En la web podría encontrar métodos alternativos.

VBA VS Visual Studio Tools para Office (VSTO)

En las siguientes líneas un breve paralelo entre 2 caminos para desarrollar aplicaciones para Office.
VSTO es un conjunto de herramientas de desarrollo disponibles en Visual Studio (para crear complementos COM de la suite de office) .Esta disponible desde Office 2003 y permite desarrollar aplicaciones office con igual o mayor flexibilidad que el propio VBA.
Algunas consideraciones:
-Visual Studio permite generar un instalador desde la misma plataforma de Visual Studio.
-Es necesario adjuntar los requerimientos de instalación (PIA Primary Interop Assemblies de la versión de office a usar).
-El código VSTO está menos expuesto a ser vulnerado.
-La posibilidad de VSTO de ejecutar varios hilos en paralelo (correr múltiples procesos al mismo tiempo para ahorrar tiempo).

- VSTO puede invocar una macro y ejecutarla.
-VSTO ofrece un modo hibrido para la creación de cinta de opciones (XML y Diseñador de ribbon).
-Compatibilidad entre aplicaciones de 32 y 64 bits.
-En VSTO no tendrá la grabadora de macros como ayuda.
-VSTO además de los formularios permite la creación de paneles de tareas.
-Curva de aprendizaje, VBA no es 100% similar a VSTO.
-Para agregar la cinta de opciones a una aplicación VBA deberás recurrir al programa Custom UI Editor XML – Luego enlazar los botones.
-El proyecto VSTO permitirá emplear diferentes lenguajes y librerías (VB.NET, C#)
-La plataforma de desarrollo que elija depende de la complejidad de lo que necesite (para una macro que realiza algo muy particular…podría ser suficiente el VBA clásico)