O fluxo de trabalho requer que o usuário, ao usar uma fonte de dados no Excel, selecione um ID exclusivo e clique em um botão que abrirá todos os PDFs em uma pasta de destino. Eu automatizei a localização da pasta de destino (há 10.000 subpastas) usando o ID exclusivo e uma data associada. Quero abrir todos os arquivos do diretório de destino em uma única instância do Acrobat.
O seguinte pode fazer um loop pelo diretório de destino e abrir todos os PDFs sem erros. Mas faz isso em instâncias distintas do Acrobat. Ou seja, se houver 5 PDFs, 5 instâncias do Acrobat serão abertas. Alguém pode, por favor, oferecer conselhos sobre um método que abriria todos os PDFs do diretório na mesma instância do Acrobat? Obrigado antecipadamente.
Sub OpenPDF1()
Dim path_to_exe As String
Dim floder_path As String
Dim pdf_to_open As String
pdf_to_open = ""
path_to_exe = "C:\\Program Files (x86)\\Adobe\\Acrobat Reader DC\\Reader\\AcroRd32.exe"
folder_path = "C:\\test1"
pdf_to_open = Dir(folder_path & "\*.pdf")
Do While Len(pdf_to_open) > 0
Shell path_to_exe & " " & folder_path & "\" & pdf_to_open
pdf_to_open = Dir()
Loop
End Sub
Para abrir todos os PDFs em uma única instância do Acrobat, você pode usar a
ShellExecute
função da API do Windows:Talvez eu tenha resolvido o problema. Em vez de 'Shell path_to_exe', usei ActiveWorkbook.FollowHyperlink.
Se alguém pudesse me aconselhar como fazer isso com o Shell, isso satisfaria minha curiosidade sobre o método que teria funcionado com o Shell. Abraços