Sub BuscarReferenciasPDF()
Dim AcroApp As Acrobat.AcroApp
Dim AcroAVDoc As Acrobat.AcroAVDoc
Dim AcroPDDoc As Acrobat.AcroPDDoc
Dim AcroTextSelect As Acrobat.AcroPDTextSelect
Dim HojaDestino As Worksheet
Dim RangoDestino As Range
Dim ArchivoPDF As String
Dim Referencias() As String
Dim Referencia As String
Dim Precio As String
Dim FilaDestino As Long
' Ruta del archivo PDF
ArchivoPDF = "ruta\al\archivo.pdf"
' Array de referencias a buscar
Referencias = Split("referencia1,referencia2,referencia3", ",")
' Hoja de Excel de destino
Set HojaDestino = ThisWorkbook.Sheets("Hoja1")
' Rango de destino para escribir los resultados
Set RangoDestino = HojaDestino.Range("A1")
' Inicializar la aplicación de Adobe Acrobat
Set AcroApp = CreateObject("AcroExch.App")
' Abrir el archivo PDF
AcroApp.Show
Set AcroAVDoc = CreateObject("AcroExch.AVDoc")
AcroAVDoc.Open ArchivoPDF, ""
Set AcroPDDoc = AcroAVDoc.GetPDDoc
' Recorrer cada referencia
For Each Referencia In Referencias
' Inicializar el texto seleccionado
Set AcroTextSelect = CreateObject("AcroExch.PDTextSelect")
' Realizar la búsqueda en el PDF
AcroTextSelect.Page = 0
AcroTextSelect.FindText Referencia
AcroTextSelect.SelectText
' Obtener el precio de la referencia (supongamos que está en la misma línea)
Precio = Trim(AcroTextSelect.GetText(1))
' Escribir los resultados en la hoja de Excel
FilaDestino = FilaDestino + 1
RangoDestino.Offset(FilaDestino, 0).Value = Referencia
RangoDestino.Offset(FilaDestino, 1).Value = Precio
Next Referencia
' Cerrar el archivo PDF
AcroAVDoc.Close (1)
AcroApp.Exit
End Sub
- Modifica la ruta del archivo PDF en la variable ArchivoPDF con la ubicación de tu archivo.
- Modifica las referencias que deseas buscar en el PDF separadas por comas en la línea Referencias = Split("referencia1, referencia2, referencia3", ",").