gpt4 book ai didi

c# - 强制 Excel 将多张纸打印为一个作业

转载 作者:行者123 更新时间:2023-11-30 15:44:48 26 4
gpt4 key购买 nike

在某些 Excel (2003) 工作簿中,当我尝试打印 多张工作表时,Excel 将这些工作表视为单独的打印作业。这会破坏我一直在编写的 excel 自动化应用程序,因为它会导致 Adob​​e PDF 打印机停止并要求用户提供第二个文件名。

看起来这可能与每页的指定打印区域有关,尽管清除(甚至重置)打印区域并没有什么不同。

如何强制 Excel 将所有选定的工作表打印为单个打印作业?(我使用的是虚拟 Adob​​e PDF 打印机)

除此之外,我如何才能在打印前检测到 Excel 何时将一个或多个选定的选项卡视为单独的打印作业?

我正在使用 C3/.net3.5 自动化 Excel 2003,并使用 Acrobat 7 Pro 安装的 Adob​​e PDF 打印机进行打印。

最佳答案

使用PrintOutEx() :

foreach (Excel.Worksheet ws in wb.Worksheets)
{
Excel.PageSetup ps = (Excel.PageSetup)ws.PageSetup;
ws.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;
ws.PageSetup.Order = Excel.XlOrder.xlDownThenOver;
ws.PageSetup.FitToPagesWide = 1;
ws.PageSetup.FitToPagesTall = 50;
ws.PageSetup.Zoom = false;
}
wb.Worksheets.PrintOutEx();

关于c# - 强制 Excel 将多张纸打印为一个作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com