【发布时间】:2018-10-03 20:47:51
【问题描述】:
我的代码包括更改一些 .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 数字相当通用。
【问题讨论】:
-
我无法复制问题,我将代码复制并放入空白工作簿中,并且没有错误。如果您指的是需要安装打印机,那么是的,这可能是个问题。
-
更新问题,提供更多信息
标签: excel vba worksheet printers page-setup