如何在VB6加载项中使用VBIDE以编程方式打印源代码。。?

如何在VB6加载项中使用VBIDE以编程方式打印源代码。。?,vb6,vbide,Vb6,Vbide,如何在VB6加载项..中以编程方式打印源代码。。?在对象浏览器中找不到VBIDE的打印或预览方法 我在Google上搜索了很多信息,发现VBIDE代码模块打印方面的信息非常缺乏。我得到了很多打印前的点击率,但仅此而已。这种缺失是如此之大,以至于让我怀疑是否有一些基本概念是我完全缺失的 我吓坏了一本赫伯在年提到的奥莱利的书,它没有提到源代码的打印。我能看到的唯一方法是将代码导出到文本文件,并通过与VBIDE无关的常用方法打印这些文件 我还查阅了Chip Pearson的VBE指南,它与VBIDE几

如何在VB6加载项..中以编程方式打印源代码。。?在对象浏览器中找不到VBIDE的打印或预览方法

我在Google上搜索了很多信息,发现VBIDE代码模块打印方面的信息非常缺乏。我得到了很多打印前的点击率,但仅此而已。这种缺失是如此之大,以至于让我怀疑是否有一些基本概念是我完全缺失的

我吓坏了一本赫伯在年提到的奥莱利的书,它没有提到源代码的打印。我能看到的唯一方法是将代码导出到文本文件,并通过与VBIDE无关的常用方法打印这些文件

我还查阅了Chip Pearson的VBE指南,它与VBIDE几乎完全相同,除了我提到的保存到文本文件然后打印的想法之外,甚至没有任何关于打印代码的线索


**理想情况下,我希望使用现有的VB6文件>打印对话框,并添加一个额外的复选框。我意识到向现有对话框添加控件是另一个主题,我并不反对创建自己版本的打印对话框。

使用CommandBarButton代理和SendKeys是可能的

获取Print CommandBarControl的句柄非常简单,但按下按钮会弹出一个对话框,因此我们必须使用SendKeys设置选项并提交表单

您可以使用类似于以下内容的代码:

Dim printCommand As CommandBarControl
Set printCommand = Application.VBE.CommandBars.FindControl(ID:=4)

printCommand.Execute

'Yep, SendKeys, erghhh
Application.SendKeys "P" 'Force the whole project to print
Application.SendKeys "{ENTER}"

VB6允许您使用文件->打印切换打印“漂亮”的选项。一般来说,最好首先让代码“漂亮”以便打印。若你们想要更详细的东西,你们可以试试这个星球源代码打印,它和我正在创建的插件并没有任何关系。主要目的只是将每个子程序或函数作为单个打印作业发送到打印机。这是为了利用我们办公室打印机的订书机,所以每道工序出来都已经稳定。它能使事情井然有序。我已经为我的问题综合了一种解决方法:我使用VBIDE直接访问代码模块中的文本,将每个过程复制到一个字符串变量中,然后在打印机上使用它。但是如果我能找到一个内置的打印功能的话,我可能仍然喜欢使用它。我已经有一段时间没有使用VB6插件了,但是我理解这个概念。我相信
mztools
可能已经有了过程打印,但是我不记得了。可以肯定的是,没有任何东西会抓取所有方法并将它们作为单个作业打印出来。可悲的是,如今VB6代码很少,VB6插件代码更为罕见。如果我遇到任何相关的东西,我可以发布它——但如果是我,我会把它作为一个单独的项目(可能是在那个星球的源代码应用程序上构建)来编写,让它完成特定的工作。