在 PrintOut OLE 函数中设置活动打印机

发布于 2024-10-23 14:18:46 字数 741 浏览 5 评论 0原文

我使用 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 ?

I use PrintOut function

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);

But it's wrong. The defeniton of this function is:

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 );

How I can right set ActivePrinter ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

╰沐子 2024-10-30 14:18:46

根据 这篇 MSDN 文章 Active Printer 是事实上,您要使用的打印机的名称,所以它是一个字符串,也是一个可选参数,所以我想您可以在那里传递空变量:

book->Worksheets->PrintOut( .., _variant_t(), ... );

According to this MSDN article Active Printer is in fact the name of the printer you want to use, so it is a string and it is also an optional parameter, so I guess you can just pass empty variant there:

book->Worksheets->PrintOut( .., _variant_t(), ... );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文