Установите активный принтер в функцию PrintOut OLE - PullRequest
0 голосов
/ 17 марта 2011

Я использую функцию PrintOut

Excel::_ApplicationPtr app("Excel.Application");

app->Visible[0] = false;

Excel::_WorkbookPtr book = app->Workbooks->Add();
Excel::_WorksheetPtr sheet = book->Worksheets->Item[1];
....

book->Worksheets->PrintOut(1, 1, 1, false, NULL, NULL, NULL, false, false);

Но это неправильно. Определение этой функции:

PrintOut ( const _variant_t & From, const _variant_t & To, const _variant_t & Copies, const _variant_t & Preview, const _variant_t & ActivePrinter, const _variant_t & PrintToFile, const _variant_t & Collate, const _variant_t & PrToFileName, const _variant_t & IgnorePrintAreas, long lcid );

Как правильно установить ActivePrinter?

1 Ответ

1 голос
/ 18 марта 2011

Согласно этой статье MSDN Активный принтер фактически является именем принтера, который вы хотите использовать, поэтому это строка, а также необязательный параметр, поэтому я думаю, вы можете просто пропустить пустой вариант:

book->Worksheets->PrintOut( .., _variant_t(), ... );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...