代码之家  ›  专栏  ›  技术社区  ›  Selrac

从PDF复制数据后出现Excel运行时错误1004

  •  0
  • Selrac  · 技术社区  · 6 年前

    我正在从PDF文件中提取并粘贴到Excel中,效果很好。当我试图处理提取的数据时,我一直得到一个“运行时错误1004”

    我的代码如下

    Sub PDF_Upload()
        Dim objWord As Object
        Dim objDoc As Object
        Dim wdFileName
        Dim LastRow As Long
        Dim fso As New FileSystemObject
        Dim fileName As String
    
        fileName = fso.GetFileName("C:\ABC.pdf")
        Title = Replace(fileName, ".pdf", "")
    
        Set objWord = CreateObject("word.Application")
        wdFileName = "C:\ABC.pdf"
    
        Set objDoc = objWord.Documents.Open(wdFileName)
        objWord.Selection.WholeStory
        objWord.Selection.Copy
    
        ' create new sheet and call it the pdf name
        Sheets.Add
        ActiveSheet.name = Title
        [A1].Select
        ActiveSheet.Paste
    
        ' Close Word
        objDoc.Close SaveChanges:=False
        objWord.Quit
        Application.DisplayAlerts = True
    
        ' check
        Sheets(Title).Select
        ' process fails in the next line
        LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row
    End Sub
    

    在我到达最后一行“LastRow=ActiveSheet…”之前,一切正常

    关于错误原因的任何想法。我查过其他关于StackOverflow中1004错误的帖子( 1 2 , 3 ,但是我找不到任何有帮助的东西。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Selrac    6 年前

    多亏了上面的评论,才找到了解决办法。贴在这里是为了帮助别人:

    With Worksheets(Title)
        LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    End With