簡體   English   中英

vba application.filesearch 更新

[英]vba application.filesearch update

所以我正在嘗試調整我找到的一些代碼以滿足我的需要。 我對 VBA 非常菜鳥,但我遇到了 application.filesearch 方法在 2010 年不可用的問題。

我的 excel 工作簿有一個我想要打印的 20k 個超鏈接的 .pdf 文件的列表,但是這個腳本只是為了讓我點擊宏並一次打印一些,我還沒有寫出打印出來的部分我想打印的選定部分,而不是整個內容。 但我所有的超鏈接都在 A 列中。

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

我對如何使這個更加用戶友好和/或學習 API 重點的任何其他建議非常感興趣,所以我可能會有一個對話框來確認我是否要打印所選的 pdf。

我確實有一個對話框設置,但是一旦我單擊以確認對話框,我無法弄清楚如何將焦點重新放在 adobe 閱讀器上,我確實在腳本中延遲了我可以單擊回到 adobe 閱讀器的位置發送密鑰,但手動我比腳本快,所以我選擇不使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM