Tim*_*ies 12 printing excel vba excel-vba
有没有什么办法可以在Excel宏/ Excel VBA中将打印机属性更改为彩色而不是黑白?我想从宏中打印颜色,但每次退出excel时,它都会将颜色设置为黑白.我希望宏可以在每次运行时将颜色设置为颜色.这是我用来打印的代码:
Workbooks("Book1.xlsm").Worksheets("Sheet3").PrintOut from:=1, To:=(i / 2) - 0.5
Run Code Online (Sandbox Code Playgroud)
这将打印由宏影响的每个页面,但它以黑白方式显示.我已经尝试了这个,但它没有改变任何东西:
Workbooks("Book1.xlsm").Worksheets("Sheet3").PageSetup.BlackAndWhite = False
Run Code Online (Sandbox Code Playgroud)
如果在vba中无法做到这一点,我也可以使用API解决方案.
小智 6
而不是使用:
Workbooks("Book1.xlsm").Worksheets("Sheet3").PrintOut from:=1, To:=(i / 2) - 0.5
Run Code Online (Sandbox Code Playgroud)
你可以使用:
Workbooks("Book1.xlsm").Worksheets("Sheet3").PrintOut
Run Code Online (Sandbox Code Playgroud)
你可以跳过:
Workbooks("Book1.xlsm").Worksheets("DoNotDelete").PageSetup.BlackAndWhite = False
Run Code Online (Sandbox Code Playgroud)
因为它只更改工作表设置,而不是更改打印设置.
但就彩色打印而言,最好只在同一台打印机中创建一个快捷方式两次control panel
,并将其中一个设置为默认颜色,另一个设置为默认黑色和白色.这样,您可以根据您选择的打印机指定颜色或黑/白.