2017-09-19 2 views
0

첨부 파일로부터 메일로부터 pdf doc를 열 수가 있습니다. 이제 그 내용을 복사하고 싶습니다. 친절하게 모든 것을 선택하고 복사하는 코드를 제공하십시오. 아래 코드는 내가 도움이 필요한 곳을 언급했습니다. 첨부 파일로부터 메일로부터 pdf doc를 열 수가 있습니다. 이제 그 내용을 복사하고 싶습니다. 친절하게 모든 것을 선택하고 복사하는 코드를 제공하십시오. 아래는 코드이며 도움이 필요한 부분을 언급했습니다.PDF 파일로부터 데이터를 복사 할 수 없습니다

Sub ExtractFirstUnreadEmailDetails() 
    Dim oOlAp As Object, oOlns As Object, oOlInb As Object 
    Dim oOlItm As Object 
    Dim objAtt As Outlook.Attachment 
    'On Error Resume Next 
    '~~> Outlook Variables for email 

    Dim eSender As String, dtRecvd As String, dtSent As String 
    Dim sSubj As String, sMsg As String 
    Dim AttchType As String 

    '~~> Get Outlook instance 
    Set oOlAp = GetObject(, "Outlook.application") 
    Set oOlns = oOlAp.GetNamespace("MAPI") 
    Set oOlInb = oOlns.GetDefaultFolder(olFolderInbox) 

    '~~> Check if there are any actual unread emails 'apurv 
    'If oOlInb.Items.Restrict("[UnRead] = True").Count = 0 Then 'apurv 
     ' MsgBox "NO Unread Email In Inbox" 'apurv 
     ' Exit Sub 'apurv 
    ' End If 'apurv 

    '~~> Store the relevant info in the variables 
    'For Each oOlItm In oOlInb.Items.Restrict("[UnRead] = True") 
      For Each oOlItm In oOlInb.Items 
         eSender = oOlItm.SenderEmailAddress 
         dtRecvd = oOlItm.ReceivedTime 
         dtSent = oOlItm.CreationTime 
         sSubj = oOlItm.Subject 
         sMsg = oOlItm.Body 
         ToAddress = oOlItm.To 

        i = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row 

         Range("c" & (i + 1)).Value = eSender 
         Range("B" & (i + 1)).Value = dtRecvd 
         'range("c"&(i+1)).Value=dtSent 
         Range("E" & (i + 1)).Value = sSubj 
         Range("F" & (i + 1)).Value = sMsg 
         Range("D" & (i + 1)).Value = ToAddress 

           If oOlItm.Attachments.Count <> 0 Then 
             temp = "" 
             For Each oOlAtch In oOlItm.Attachments 
              temp = temp & "//" & oOlAtch.Filename 
             Next 
             Range("G" & (i + 1)).Value = temp 
           End If 

           If oOlItm.Attachments.Count <> 0 Then 
             temp = "" 
             For Each oOlAtch In oOlItm.Attachments 
             If InStr(1, UCase(oOlAtch.Filename), "PDF", vbTextCompare) > 1 Then 
             oOlAtch.SaveAsFile "D:\Users\apawar\Desktop\Attachments\" & oOlAtch.Filename 
             Shell "Explorer.exe /e,D:\Users\apawar\Desktop\Attachments\" & oOlAtch.Filename, vbNormalFocus 
             'NEED HELP HERE......Need to copy all data from pdf doc from 1st page 
             End If 
             Next 
             Range("G" & (i + 1)).Value = temp 
           End If 
      Next 



MsgBox ("Down loaded successufully") 
End Sub 
+0

자세한 내용은 https://stackoverflow.com/a/37287583/7889129를 참조하십시오. – Maddy

답변

-1

아마 Acrobat을 설치해야합니다. 그러면 훨씬 쉽습니다. 또는 PDF를 텍스트 파일로 변환하여 저장하고 Excel로 가져올 수 있습니다.

관련 문제