在excel宏中更改打印机属性

时间:2014-06-09 13:33:49

标签: vba excel-vba printing excel

有没有办法在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​​解决方案。

1 个答案:

答案 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中创建两次相同打印机的快捷方式,并将其中一个设置为默认颜色,将另一个设置为默认黑色和白色。这样,您可以根据您选择的打印机指定颜色或黑/白。