我在VBA中使用Shell.Application通过循环包含文件路径的excel中的范围来打开Word和PDF文档 - 最多可以有10个Word / Pdf文档。这工作正常,示例代码如下:
Sub OpenFiles()
Dim Shex As Object
Set Shex = CreateObject("Shell.Application")
Dim FilePath As String
FilePath = "C:\Users\brian\Documents\My Documents\Test.pdf"
Shex.Open (FilePath)
End Sub
当打开每个文档时,我还想获得它的Windows句柄,以便稍后使用窗口定位。如果可能的话,想要获得开放的处理,因为看起来比基于窗口标题的搜索更容易,就像在我看到的一些方法中那样。
此链接Experts处的代码通过进程ID返回新打开的记事本的句柄。这对我有用,如链接中所述。这可以适用于在已打开的应用程序(例如Word)中打开时返回现有文档的句柄。或者还有另一种方式吗?