2013-07-09 25 views
5

Próbuję przekonwertować plik pdf (z 16 stronami) do pliku Excela w celu uruchomienia programu, który już mam w programie Excel. Mam kod, który konwertuje już pdf na excel, ale chciałbym, żeby makro umieściło każdą oddzielną stronę pliku pdf w innym arkuszu kalkulacyjnym w moim pliku excela (obecnie kopiuje wszystkie strony i pasty strona 1 pliku pdf do arkusza roboczego).Konwersja PDF do Excela umieszczanie każdej strony pdf w innym arkuszu roboczym

Wszystkie strony mają ten sam nagłówek, jeśli to w ogóle pomaga. Mój obecny kod znajduje się poniżej, z góry dziękuję.

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 

Odpowiedz

1

Wypróbuj this. Powinieneś być w stanie utworzyć pętlę i wyodrębnić poszczególne strony pliku PDF w innym arkuszu.

+0

Dzięki za pomoc ... kod działa bezbłędnie, ale po otwarciu pliku pdf otrzymuję "nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna" message.my ścieżka pliku pdf jest następująca PDFPath = ThisWorkbook.Path & "\" & "C: \ Documents and Settings \ Michael Palkovitz \ Moje dokumenty \ Test \ EC Operations Budget February FY13.pdf" – Mike

+0

Aktualizacja ... Dostałem twój kod, aby otworzyć dokument, wystarczy aby go skopiować i wkleić. – Mike

+0

Mam kopię i wklej, dzięki za pomoc – Mike