2013-07-09 8 views
5

Ich versuche eine PDF-Datei (mit 16 Seiten) in eine Excel-Datei zu konvertieren, um ein Programm auszuführen, das ich bereits in Excel installiert habe. Ich habe einen Code, der das PDF in excel konvertiert, aber ich möchte, dass das Makro jede einzelne Seite der PDF-Datei in ein anderes Arbeitsblatt in meiner Excel-Datei schreibt (derzeit kopiert es alle Seiten und fügt Seite 1 des PDFs ein in ein Arbeitsblatt).Konvertierung von PDF nach Excel Jede PDF-Seite wird in ein anderes Arbeitsblatt geschrieben

Alle Seiten haben die gleiche Überschrift, wenn das überhaupt hilft. Mein aktueller Code ist unten enthalten, danke im Voraus.

Private Sub CommandButton1_Click() 
'Declare Variable(s) 
Dim appAA As Acrobat.CAcroApp, docPDF As Acrobat.CAcroPDDoc 
Dim strFileName As String, intNOP As Integer, arrI As Variant 
Dim intC As Integer, intR As Integer, intBeg As Integer, intEnd As Integer 

'Initialize Variables 
Set appAA = CreateObject("AcroExch.App"): Set docPDF = CreateObject("AcroExch.PDDoc") 

'Set PDF FileName 
strFileName = "C:\Documents and Settings\Michael Palkovitz\My Documents\Test\EC Operations Budget February FY13.pdf" 

'Read PDF File 
docPDF.Open (strFileName) 

'Extract Number of Pages From PDF File 
intNOP = docPDF.GetNumPages 

'Select First Data Cell 
Range("A1").Select 

'Open PDF File 
ActiveWorkbook.FollowHyperlink strFileName, , True 

'Loop Through All PDF File Pages 
For intC = 1 To intNOP 
'Go To Page Number 
SendKeys ("+^n" & intC & "{ENTER}") 

'Select All Data In The PDF File's Active Page 
SendKeys ("^a"), True 

'Right-Click Mouse 
SendKeys ("+{F10}"), True 

'Copy Data As Table 
SendKeys ("c"), True 

'Minimize Adobe Window 
SendKeys ("%n"), True 

'Paste Data In This Workbook's Worksheet 
ActiveSheet.Paste 

'Select Next Paste Cell 
Range("A" & Range("A1").SpecialCells(xlLastCell).Row + 2).Select 

'Maximize Adobe Window 
SendKeys ("%x") 
Next intC 

'Close Adobe File and Window 
SendKeys ("^w"), True 

'Empty Object Variables 
Set appAA = Nothing: Set docPDF = Nothing 

'Select First Cell 
Range("A1").Select 
end sub 

Antwort

1

Versuchen Sie this. Sie sollten in der Lage sein, eine Schleife zu erstellen und jede Seite Ihres PDFs in einem anderen Arbeitsblatt zu extrahieren.

+0

Danke für die Hilfe ... der Code läuft ohne Fehler, aber beim Öffnen der PDF .. Ich bekomme eine "der Dateiname, Verzeichnisname oder Volume-Label-Syntax ist falsch" message.my PDF-Datei Pfad ist wie folgt PDFPath = ThisWorkbook.Path & "\" & "C: \ Dokumente und Einstellungen \ Michael Palkovitz \ Meine Dokumente \ Test \ EC Operationsbudget February13.pdf" – Mike

+0

Update .. Ich habe Ihren Code, um das Dokument zu öffnen, nur brauchen um es zu kopieren und einzufügen. – Mike

+0

Kopieren und Einfügen, danke für die Hilfe – Mike