有什么方法可以在 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/