Crear consulta de Power query usando Macros en Excel – extraer de PDF

馃敟 Le quiero agradecer a Gerardo de Espa帽a que gracias a los videos de mi canal, se decidi贸 a enviarme su macro.

馃憠 En este video muestro c贸mo se crea una conexi贸n de Power Query e insertar c贸digo M en una consulta.

鉁旓笍 Tambi茅n veremos c贸mo extraer datos de archivos PDF aunque no tengas Office 365.

Ver Video Crear consulta de Power query usando Macros en Excel

Suscr铆bete al canal de EXCELeINFO en YouTube para aprender m谩s de Excel y macros.

Contexto

Con el editor de PowerQuery podemos acceder a m煤ltiples origenes de datos, creando una consulta, transformado los datos y cargarlos en una hoja de Excel. Lo que sucede es que s贸lo en la versi贸n Office 365 tiene la opci贸n habilitada de conectar con archivos PDF.

Para poder realizar esa conexi贸n en versiones de Office 2019, 2016 hay que crear una consulta en blanco y abrir el editor avanzado. En el editor avanzado de PowerQuery tenemos que escribir la l铆nea de “c贸digo M” con la “ruta + nombre del archivo pdf” completa.

Ver video del canal EXCELeINFO: https://www.youtube.com/watch?v=RrXPeOXSJL4

La macro

Para facilitar este proceso, esta macro genera una consulta con un archivo PDF (sin utilizar el editor avanzado de PowerQuery). Despu茅s solo tienes que editar la consulta con PowerQuery para elegir las tablas, transformarlas y cargar los datos en una hoja de tu libro de Excel (o lo que necesites).

C贸digo VBA de la macro

'=================================================================================================================================================
'* Nombre: Consulta para obtener datos de tablas desde archivos PDF
'* Autor: GATRNP - (Gerardo)
'* Website Autor:
'* Post o video:
'* Versi贸n: 1.1 - Noviembre 2021
'* Testado en: Excel 2019
'* Etiquetas: VBA, Excel, Macros, PDF, Power Query
'* Descripci贸n: Crea una consulta a un archivo PDF que despu茅s editas para transformar y cargar los datos que quieras desde el editor PowerQuery
'==================================================================================================================================================
Option Explicit

Sub CreaConsultaPDF()

'Definici贸n de varibles
Dim strFiltro, strTitulo As String
Dim strRutaArchivoPdf As String
Dim strCodigoMcompleto, strNombreConsulta As String

'Variable filtro y T铆tulo como parametros del metodo GetOpenFilename
strFiltro = "Archivos PDF (*.pdf),*.pdf"
strTitulo = "Seleccionar archivo PDF - Para crear una conexi贸n con archivos PDF"

'Seleccionar ruta completa del archivo con el metodo GetOpenFilename
strRutaArchivoPdf = Application.GetOpenFilename(strFiltro, 1, strTitulo)

'Validar si elegimos un archivo PDF
If strRutaArchivoPdf = "Falso" Then
    Exit Sub
Else
    'Linea en c贸digo M (para PowerQuery) para asignar en la consulta. Incluye la variable 'strRutaArchivoPdf'
    strCodigoMcompleto = "Origen = Pdf.Tables(File.Contents(" & VBA.Chr(34) & strRutaArchivoPdf & VBA.Chr(34) & "))"
End If

'muestra el panel de consultas y conexiones en caso de que est茅 oculto
If Application.CommandBars("Queries and Connections").Visible = False Then
    Application.CommandBars("Queries and Connections").Visible = True
    Application.CommandBars("Queries and Connections").Width = 400
Else
    Application.CommandBars("Queries and Connections").Width = 400
End If

'Variable que construye un nombre 煤nico para nombrar la consulta
' - con este metodo conseguimos que cada consulta tenga un nombre diferente y podemos crear varias consultas en el mismo libro
strNombreConsulta = "Qry-" & Format(Date, "yyyy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")

'Crea la consulta (donde se aplican las variables de 'strNombreConsulta' y 'strCodigoMcompleto')
ActiveWorkbook.Queries.Add strNombreConsulta, Formula:="let" & Chr(10) & strCodigoMcompleto & Chr(10) & "" & Chr(10) & "in" & Chr(10) & "    Origen"

End Sub

'=============================================================
'* EXCELGRAF脥A
'* - Sergio Alejandro Campos de EXCELeINFO
'*      - https://www.youtube.com/watch?v=OvvaqV_LW10
'* - Datapeaker
'*      - https://datapeaker.com/en/powerbi/abrir-el-panel-consultas-y-conexiones-mas-amplio/
'
'=============================================================

Descarga el archivo de ejemplo

Copia de v1.1-DatosDePDF.zip

Si te gust贸 este tutorial, por favor reg铆strate en nuestra Lista de correo y Suscr铆bete a nuestro canal de YouTube para que est茅s siempre enterado de lo nuevo que publicamos.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: