vba application.filesearch更新
所以我正试图根据自己的需要修改一些代码。 我对VBA很在行,但我遇到了一个问题,即application.filesearch方法在2010年不可用 我的excel工作簿有一个20k超链接.pdf文件列表,我想打印出来,但是这个脚本只是让我点击宏,一次打印几个文件,我没有编写部分来打印我想打印的选定部分,而不是全部内容。但我所有的超链接都在A列中vba application.filesearch更新,vba,excel,Vba,Excel,所以我正试图根据自己的需要修改一些代码。 我对VBA很在行,但我遇到了一个问题,即application.filesearch方法在2010年不可用 我的excel工作簿有一个20k超链接.pdf文件列表,我想打印出来,但是这个脚本只是让我点击宏,一次打印几个文件,我没有编写部分来打印我想打印的选定部分,而不是全部内容。但我所有的超链接都在A列中 Sub AutoPrintPDFs() Dim Folder As String Dim FName As String Dim bk As Wor
Sub AutoPrintPDFs()
Dim Folder As String
Dim FName As String
Dim bk As Workbook
Dim strPath As String
strPath = ThisWorkbook.Path
With Application.FileSearch
.SearchSubFolders = True
.LookIn = strPath
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
If .FoundFiles(i) Like "*.pdf" Then
ActiveWorkbook.FollowHyperlink .FoundFiles(i), NewWindow:=True
Application.SendKeys "^p~", False
Application.Wait (Now + TimeValue("0:00:05"))
Application.SendKeys "%{F4}", False
Application.Wait (Now + TimeValue("0:00:05"))
End If
Next i
Else
MsgBox "All files done."
End If
End With
End Sub
我希望你能在这个application.filesearch部分帮助我,我已经找了几个小时了,我只是一直在寻找其他人的脚本所特有的替代函数 所以我一直在研究这个问题,我放弃了宏方法,转而使用一种非常基本的方法,只需单击每个pdf
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count <> 1 Then Exit Sub
On Error Resume Next
Application.ActiveWorkbook.FollowHyperlink Address:=CStr(Target.Value), NewWindow:=True
Application.Wait (Now + TimeValue("0:00:03"))
Application.SendKeys "^p~", False
Application.Wait (Now + TimeValue("0:00:05"))
Application.SendKeys "%{F4}", False
End Sub
Private子工作表\u selection更改(ByVal目标作为范围)
如果Target.Cells.Count为1,则退出Sub
出错时继续下一步
Application.active工作簿.FollowHyperlink地址:=CStr(Target.Value),NewWindow:=True
Application.Wait(现在+时间值(“0:00:03”))
Application.SendKeys“^p~”,False
Application.Wait(现在+时间值(“0:00:05”))
Application.SendKeys“{F4}”,False
端接头
我会非常感兴趣的任何其他建议,如何使这更用户友好和/或学习API的重点,所以我可能会有一个对话框,以确认我是否要打印选定的pdf
我确实有一个对话框设置,但我不知道如何将焦点放回adobe reader。单击确认对话框后,我确实在脚本中设置了一个延迟,以便我可以单击返回adobe reader发送密钥,但手动操作的速度比脚本快,所以我选择不使用它