excel = DispatchEx('Excel.Application')支持同时打开两份excel文件,并分别另存为pdf吗
时间: 2024-10-09 17:09:47 浏览: 17
在VBA中,使用`DispatchEx('Excel.Application')`创建的是Excel应用的对象,你可以通过这个对象实例来操作Excel程序。然而,直接通过这个API本身并不支持同时打开两个工作簿并分别另存为PDF,因为这涉及到多个文档的操作,而不是单个工作簿的处理。
你需要使用`Application.Workbooks`集合来管理和操作多个打开的工作簿。首先,你需要打开两个工作簿,然后分别选择它们并使用`ExportAsFixedFormat`方法将它们保存为PDF。下面是一个简单的示例:
```vba
Sub SaveWorkbooksAsPdf()
Dim wb1 As Workbook
Dim wb2 As Workbook
' 打开第一个工作簿
Set wb1 = Workbooks.Open("File1.xlsx")
' 打开第二个工作簿
Set wb2 = Workbooks.Open("File2.xlsx")
' 分别保存为PDF
wb1.ExportAsFixedFormat Type:=xlTypePDF, Filename:="File1.pdf"
wb2.ExportAsFixedFormat Type:=xlTypePDF, Filename:="File2.pdf"
' 关闭工作簿
wb1.Close False
wb2.Close False
End Sub
```
请注意,实际操作中你可能需要处理错误、用户交互等问题。如果你需要更复杂的流程,例如异步操作或者批量转换,可能需要借助第三方库或者编写更为复杂的数据流管理代码。