我的代码包括更改一些 .PageSetup 变量。
我在使用此代码时遇到问题
Sub Test()
Dim ws as Worksheet
Set ws = ActiveSheet
With ws.PageSetup
.Orientation = xlLandscape
End With
End Sub
这会出错,但是如果我在运行之前暂停代码.Orientation
并转到打印预览,然后尝试运行它,一切正常。
似乎 .PageSetup 功能需要先加载打印机设置才能执行。我不知道如何用 VBA 做到这一点。
我从 Access DB VBA 运行它。它导出一个表,然后我创建一个新的 Excel 应用程序以使用它打开它
Dim xlApp as Excel.Application
set xlApp = New Excel.Application
从历史上看,只要我加载了 Excel 参考库,我在此处编写的任何 VBA 在 Access 中的工作方式与在 Excel 中的工作方式相同。
但只是为了比较,我在运行 VBA 的 Excel 文件中也遇到了这个问题,它只是不一致,所以我从来没有弄清楚问题可能是什么。但任何时候我确实遇到问题,解决方案总是先选择打印预览。
这是我在特定宏上得到的错误代码:
错误号:1004
错误描述:无法设置 PageSetup 类的 Orientation 属性
该宏在导出到 Excel 之前会执行大量查询和表更新。此外,错误消息似乎与 1004 号码相当通用。