Изменение свойств принтера в макросе 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
Вместо использования:
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
и установить цвет по умолчанию, а другой - по умолчанию черно-белый. Таким образом вы можете указать цвет или черный/белый, только с помощью выбранного принтера.