vba - 在 Excel 宏中更改打印机属性

标签 vba excel printing

有什么方法可以在 Excel 宏/Excel VBA 中将打印机属性更改为彩色而不是黑白吗?我想从宏中以彩色打印,但每次退出 Excel 时,它都会将颜色设置为黑白。我希望宏在每次运行时将颜色设置回颜色。这是我用来打印的代码:

Workbooks("Book1.xlsm").Worksheets("Sheet3").PrintOut from:=1, To:=(i / 2) - 0.5

这会打印受宏影响的每一页,但它是黑白的。我已经尝试过了,但它没有改变任何东西:

Workbooks("Book1.xlsm").Worksheets("Sheet3").PageSetup.BlackAndWhite = False

如果无法在 vba 中执行此操作,我也可以使用 API 解决方案。

最佳答案

而不是使用:

Workbooks("Book1.xlsm").Worksheets("Sheet3").PrintOut from:=1, To:=(i / 2) - 0.5

你可以使用:

Workbooks("Book1.xlsm").Worksheets("Sheet3").PrintOut

您可以跳过:

Workbooks("Book1.xlsm").Worksheets("DoNotDelete").PageSetup.BlackAndWhite = False

因为它只更改工作表设置,而不更改打印设置。

但就彩色打印而言,您可能最好只在控制面板中创建同一台打印机的快捷方式两次,并将一个设置为默认颜色,另一个设置为默认黑白。这样您就可以根据您选择的打印机指定彩色或黑白。

关于vba - 在 Excel 宏中更改打印机属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121426/

相关文章:

Excel VBA - 停止运行由 Shell 启动的程序?

excel - 当自动过滤器不返回任何内容时如何进行陷阱

Excel VBA 事件根据用户输入进行计算

`AGGREGATE` 和 `INDEX` 函数中的数组

vba - 在 Excel 中从一堆 =EMBED ("Forms.HTML:TextArea.1",""中提取文本

css - nth-child() 不显示在打印媒体中

vba - 未加载以编程方式安装的 Excel 加载项

java - Java POI 中的 InvalidFormatException

android - 使用 Android Studio 和 Epson TM

java - 仅打印多页 pdf 中的一页