Cómo extraer datos específicos de PDF a Excel usando VBA

  • Compartir Este
Hugh West

Uno de los problemas comunes a los que la mayoría de nosotros nos enfrentamos en nuestra vida diaria es cómo extraer algunos datos específicos de un PDF a una hoja de cálculo de Excel mediante VBA En este artículo te mostraré cómo lograrlo cómodamente con ejemplos e ilustraciones adecuadas.

Extraer datos específicos de PDF a Excel utilizando VBA (Vista rápida)

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable.pdf" Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Descargar el cuaderno de prácticas

Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.

Extraer datos de PDF.xlsm

Una Visión General para Extraer Datos Específicos de PDF a Excel Usando VBA (Análisis Paso a Paso)

Así que, sin más dilación, vamos con nuestro debate principal de hoy. Aquí tenemos un PDF archivo llamado standardnormaltable.pdf que contiene una tabla de la distribución normal.

Y hemos abierto una hoja de cálculo llamada Hoja1 en un libro de Excel donde copiaremos los datos del PDF archivo.

Ahora voy a mostrar que puede copiar los datos de la PDF a la hoja de cálculo Excel mediante un análisis paso a paso.

⧪ Paso 1: Declarar las entradas necesarias

En primer lugar, hay que declarar los datos de entrada necesarios, entre los que se incluyen el nombre de la hoja de cálculo, el rango de las celdas, la ubicación de la aplicación a través de la cual se ejecuta el archivo PDF se abrirá ( Adobe Reader en este ejemplo), y la ubicación del PDF archivo.

 Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable" 

⧪ Paso 2: Abrir el archivo PDF (mediante el comando shell de VBA).

A continuación, tenemos que llamar al VBA Función Shell para abrir el PDF archivo.

 Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) 

⧪ Paso 3 (opcional): Esperar unos instantes.

Esto es opcional. Pero cuando tienes una larga serie de tareas, es mejor esperar unos momentos para permitir que tu ordenador termine con éxito la tarea anterior y comience una nueva tarea.

 Application.Wait Now + TimeValue("0:00:03") 

Aquí, estamos esperando 30 segundos. Pero si quieres, puedes esperar más.

⧪ Paso 4: Uso de SendKeys para copiar datos del archivo PDF

Esta es probablemente la tarea más importante. Utilizaremos 3 SendKeys:

  • ALT + V, P, C: Esto es principalmente para permitir el desplazamiento en el PDF Para archivos pequeños, esto no es necesario, pero para archivos más grandes, esto se hace necesario para seleccionar todo el archivo.
  • CTRL + A: Permite seleccionar todo el archivo.
  • CTRL + C : Para copiar el archivo seleccionado.

Por lo tanto, las líneas de código serán:

 SendKeys "%vpc" SendKeys "^a" SendKeys "^c" 

⧪ Paso 5: pegar los datos en el archivo Excel.

Hemos abierto el PDF Ahora tenemos que pegar esos datos en el rango deseado de la hoja de cálculo.

 MiHojaDeTrabajo.Rango("A1").PegarEspecial Pegar:=xlPegarTodo 

Aquí, he pegado en la celda A1 de la hoja de cálculo. Por supuesto, puede pegarlo en cualquier otro lugar según sus deseos.

⧪ Paso 6 (Opcional): Cerrar el archivo PDF (Finalizar la aplicación).

Por último, es mejor cerrar el programa en ejecución una vez que haya terminado con la extracción de datos.

 Llamar a Shell("TaskKill /F /IM Acrobat.exe", vbHide) 

Más información: Cómo extraer datos de PDF a Excel (4 formas adecuadas)

Lecturas similares

  • Cómo exportar datos de un PDF rellenable a Excel (con pasos rápidos)
  • Cómo exportar comentarios de PDF a una hoja de cálculo Excel (3 trucos rápidos)

Ejemplo para Extraer Datos Específicos de PDF a Excel Usando VBA

Hemos visto el procedimiento paso a paso para extraer datos de un PDF a una hoja de cálculo de Excel mediante VBA .

Por lo tanto, la VBA para extraer datos del PDF archivo llamado standardnormaltable a Hoja1 será:

Código VBA:

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable.pdf" Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Salida:

Ejecuta este código. Y copiará los datos del PDF archivo llamado "standardnormaltable" a la hoja de cálculo denominada "Hoja1" en el libro activo.

Más información: Cómo extraer datos de varios archivos PDF a Excel (3 formas adecuadas)

Cosas para recordar

  • El libro de trabajo en el que copiará los datos del archivo PDF debe mantenerse abierto durante la ejecución del código. De lo contrario, tendrá que utilizar el nombre del libro de trabajo en el código.
  • El nombre de la aplicación que está utilizando dentro del código ( Adobe Acrobat DC aquí) debe estar instalado en su ordenador. De lo contrario, recibirá un error.
  • Para grandes conjuntos de datos de PDF el proceso puede tardar algún tiempo en copiar todos los datos y pegarlos, así que sea paciente y espere hasta que el proceso finalice correctamente.

Conclusión

Por lo tanto, se trata del proceso de extraer unos datos concretos de un PDF a una hoja de cálculo de Excel mediante VBA ¿Tiene alguna pregunta? No dude en preguntarnos. Y no olvide visitar nuestro sitio web ExcelWIKI para más entradas y actualizaciones.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.