2017-09-27 35 views
-1

このコードを試しましたが、正しく動作しません。pdfからデータをコピーしてvbaを使用してExcelに貼り付ける方法

Sub Shell_Copy_Paste() 

    Dim o As Variant 
    Dim wkSheet As Worksheet 

    Set wkSheet = ActiveSheet 

    o = Shell("C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe C:\Users\saurabh.ad.sharma\Desktop\red.pdf", vbNormalFocus) 

    Application.Wait (Now + TimeSerial(0, 0, 2)) 'Wait for Acrobat to load 

    SendKeys "^a" 'Select All 
    SendKeys "^c" 'Copy 
    SendKeys "%{F4}" 'Close shell application 

    wkSheet.Range("B5").Select 
    SendKeys "^v" 'Paste 

End Sub 

親切にあなたはハードあなたのマクロをコーディングしていない場合、それは最高のこの

+3

**あなた**がエラーを指摘した場合は誰にでも簡単に対応できます。どのラインがクラッシュするのですか?どのようなエラーメッセージが表示されますか?それがクラッシュしなければ、何をしていないと思っていますか? – YowE3K

+2

原則として、コードは動作しますが(テストしただけで)、失敗する可能性のあるものがたくさんあります(リーダーは起動せず、PDFファイルを開くことはできません。あなたの問題が何であるかを教えてください。あなたがすでに問題を見つけるために自分でしたことを – FunThomas

+0

コピーしてPDFからファイルをコピーしていますが、実際にそれをExcelに貼り付けていません。 – saurabh255

答えて

0

でエラーと私を指摘しています。以下のコードでは、あなたが望むファイルを選択することができますので、PDFファイルを開く際に問題はありません。

Sub run() 


Dim fn As String 

With Application.FileDialog(msoFileDialogOpen) 
.AllowMultiSelect = False 
If .Show = -1 Then 
fn = .SelectedItems(1) 
Else 
MsgBox "You cancel the process." 
Exit Sub 
End If 
End With 

End Sub 
関連する問題