在VBA中将PDF文本转换为Excel

问题描述 投票:1回答:2

我使用了我找到here的代码并尝试提取PDF文件。该代码在Excel中完美地提取PDF,但我不断收到通知消息。我已禁用显示提醒,但它没有任何区别。

Sub ImportPDF()
    Dim objWord As Object
    Dim objDoc As Object
    Dim wdFileName

    Set objWord = CreateObject("word.Application")
    wdFileName = "C:\42046_120_2077802.pdf"

    Application.DisplayAlerts = False

    Set objDoc = GetObject(wdFileName)

    objWord.Documents.Open (wdFileName)
    objWord.Selection.WholeStory
    objWord.Selection.Copy

    Sheets(1).Select
    [A1].Select
    ActiveWorkbook.ActiveSheet.Paste

    'objDoc.Close ' I get an error message if I add this (Object does not support this property or method)
    objWord.Quit
    Application.DisplayAlerts = True
End Sub

我收到的消息如下:

File In use message

Word message convert to PDF

Word message file in use

有没有办法摆脱这些消息?

excel pdf
2个回答
0
投票

将您的代码更改为:

Sub ImportPDF()
    Dim objWord As Object
    Dim objDoc As Object
    Dim wdFileName

    Set objWord = CreateObject("word.Application")
    wdFileName = "C:\42046_120_2077802.pdf"

    Application.DisplayAlerts = False

    Set objDoc = objWord.Documents.Open(wdFileName)
    objWord.Selection.WholeStory
    objWord.Selection.Copy

    Sheets(1).Select
    [A1].Select
    ActiveWorkbook.ActiveSheet.Paste

    objDoc.Close SaveChanges:=False
    objWord.Quit
    Application.DisplayAlerts = True
End Sub

1
投票

Application.DisplayAlerts指的是Excel应用程序,而不是显示警报的Word实例。

要避免前两个警报,请使用Documents.Open的其他参数

  • ConfirmConversions - “如果文件不是Microsoft Word格式,则为True以显示转换文件对话框” - 所以False
  • ReadOnly - “True将文档打开为只读” - 所以True

关闭文档而不保存更改似乎也避免了第三个弹出窗口。 This也可能是一个选择。

Sub ImportPDF()
    Dim objWord As Object, objDoc As Object
    Dim wdFileName As String

    Set objWord = CreateObject("word.Application")
    wdFileName = "C:\42046_120_2077802.pdf"

    Set objDoc = objWord.Documents.Open(wdFileName, False, True)
    objWord.Selection.WholeStory
    objWord.Selection.Copy

    ThisWorkbook.Sheets(1).Range("A1").Select
    ThisWorkbook.Sheets(1).Paste

    objDoc.Close False
    objWord.Quit
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.