Keith™ 发表于 2008-3-14 08:27:33

您可以通过使用旧版本的MSVC++附带的Spy++工具来查看在典型打印周期中发布的消息,从而确定Excel是否在打印结束时向其消息队列中发布了一些内容。然后,您可以对窗口进行子类化,并自己处理该消息。试图弄清所有这些信息的含义可能是一个大写B的女巫。

Keith™ 发表于 2008-3-14 09:03:36


让我给你一些关于我们正在做什么的信息,这样你就可以理解我们正在做什么。我们有十几张或更多的表格,上面填写了各种信息。其中一些电子表格有数百个输入位置,我们可能会使用其中一些,也许是所有位置,但大多数情况下,我们在任何给定时间都只使用六个左右。
电子表格如果按原样打印,则需要3页,但其中大部分信息未用于任何给定的打印输出。我们已经有选项,用户可以选择隐藏/显示电子表格中未使用的部分,当我们这样做时,打印输出非常适合单个页面,正是我们想要的。但是,现在我们希望通过自动隐藏和显示未使用的工作表部分来减轻痛苦。
进程:
用户填写必填字段并打印电子表格。
打印事件应隐藏未使用的组件,打印单页,显示隐藏的组件以供下次使用。
同意......我可以订阅Excel,但我现在没有时间专门对消息进行排序

Keith™ 发表于 2008-3-14 12:44:32


在我看来,您可以通过在工作表(或工具栏中)上有一个按钮来轻松做到这一点,该按钮运行一个宏来隐藏您不想看到的信息,设置和打印电子表格,然后取消隐藏隐藏的信息。使用 Worksheet.PrintOut 方法将格式化信息发送到打印机后,您就有效地向打印机发送了所需信息的快照。在这一点上,我认为这只是一个隐藏隐藏信息的问题。

FengK 发表于 2008-3-14 13:11:42

是的,但是重新训练白痴完全是另一回事

Joro-- 发表于 2008-3-17 12:39:24


阿门。
页: 1 [2]
查看完整版本: 系统打印事件