vba excel中是否有选择要显示的excel窗口的代码?
我正试图从某个pdf文件复制所有文本并粘贴到我的工作簿上,但我不知道如何从pdf acrobat窗口返回excel窗口并使用该代码粘贴它 alt选项卡的sendkeys不工作vba excel中是否有选择要显示的excel窗口的代码?,excel,vba,Excel,Vba,我正试图从某个pdf文件复制所有文本并粘贴到我的工作簿上,但我不知道如何从pdf acrobat窗口返回excel窗口并使用该代码粘贴它 alt选项卡的sendkeys不工作 Sub last() ActiveWorkbook.FollowHyperlink "C:\Users\Ewallet2\Desktop\New folder\test (1).pdf" Application.DisplayAlerts = False Application.Wait (Now + TimeSeri
Sub last()
ActiveWorkbook.FollowHyperlink "C:\Users\Ewallet2\Desktop\New folder\test (1).pdf"
Application.DisplayAlerts = False
Application.Wait (Now + TimeSerial(0, 0, 2))
SendKeys "^a" 'Select All
SendKeys "^c" 'Copy
Application.Wait (Now + TimeSerial(0, 0, 1)) '
Application.SendKeys ("%{TAB}")
Application.Wait (Now + TimeSerial(0, 0, 1))
SendKeys "%{F4}" 'Close shell application
ThisWorkbook.Sheets("248").Range("l21").Select
Application.Wait (Now + TimeSerial(0, 0, 1))
Application.SendKeys "^v"
Next x
End Sub
我想要的是一行代码,用于在pdf acrobat和ms excel工作簿之间切换。解决此问题的方法是在粘贴时使用特定的excel范围,而不是模仿使用键盘。换句话说,
SendKeys
仅对发送到机器上安装的默认PDF软件的命令是必需的。对于与Excel有关的所有内容,请使用Excel的对象模型
以下代码示例基于问题中的示例,声明(Dim
s)并实例化(Set
s)工作簿、工作表和作为粘贴目标的单元格区域的对象变量
Sub PasteFromPDF()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Set wb = ActiveWorkbook
Set ws = wb.Sheets("248")
wb.FollowHyperlink "C:\Users\Ewallet2\Desktop\New folder\test (1).pdf"
Application.DisplayAlerts = False
Application.Wait (Now + TimeSerial(0, 0, 2))
SendKeys "^a" 'Select All
SendKeys "^c" 'Copy
Application.Wait (Now + TimeSerial(0, 0, 1))
SendKeys "%{F4}" 'Close shell application
Set rng = ws.Range("L21")
ws.Paste rng
End Sub
解决这个问题的方法是在粘贴时使用特定的Excel范围,而不是模仿使用键盘。换句话说,
SendKeys
仅对发送到机器上安装的默认PDF软件的命令是必需的。对于与Excel有关的所有内容,请使用Excel的对象模型
以下代码示例基于问题中的示例,声明(Dim
s)并实例化(Set
s)工作簿、工作表和作为粘贴目标的单元格区域的对象变量
Sub PasteFromPDF()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Set wb = ActiveWorkbook
Set ws = wb.Sheets("248")
wb.FollowHyperlink "C:\Users\Ewallet2\Desktop\New folder\test (1).pdf"
Application.DisplayAlerts = False
Application.Wait (Now + TimeSerial(0, 0, 2))
SendKeys "^a" 'Select All
SendKeys "^c" 'Copy
Application.Wait (Now + TimeSerial(0, 0, 1))
SendKeys "%{F4}" 'Close shell application
Set rng = ws.Range("L21")
ws.Paste rng
End Sub
看起来像是
AppActivate()
的工作,我想我已经试过了。你能解释一下如何在我现有的代码中使用它吗?看起来像是AppActivate()
的工作,我想我已经试过了。你能给我解释一下如何在我现有的代码中使用它吗?pdf中的文本只能复制,但粘贴到工作簿上不起作用。我使用了sendkeys“^v”,它可以正常工作。但建议使用sendkeys功能?仅复制pdf中的文本,但粘贴到工作簿上不起作用。我使用了sendkeys“^v”,它可以正常工作。但建议使用sendkeys功能?