有没有办法在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解决方案。
答案 0 :(得分:6)
而不是使用:
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
因为它只会更改工作表设置,而不会更改打印设置。
但就彩色打印而言,最好只在control panel
中创建两次相同打印机的快捷方式,并将其中一个设置为默认颜色,将另一个设置为默认黑色和白色。这样,您可以根据您选择的打印机指定颜色或黑/白。