5

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

我在谷歌上搜索过高和低,奇怪地缺乏关于 VBIDE 代码模块打印的信息。PrettyPrint 获得了很多成功,但仅此而已。缺乏是如此之大,以至于我想知道是否有一些我完全缺少的基本概念。

我吓坏了 Herb 在https://stackoverflow.com/a/41034211/2705042中提到的 O'Reilly 书的副本,并且没有提及源代码的打印。我能看到的唯一方法是将代码导出到文本文件并通过与 VBIDE 无关的常用方式打印这些文件。

我还在http://www.cpearson.com/excel/vbe.aspx上查看了 Chip Pearson 的 VBE 指南,它与 VBIDE 几乎相同,除了我提到的想法之外,甚至没有打印代码的线索保存到文本文件,然后打印。

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

4

1 回答 1

2

可以使用 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}"
于 2016-12-29T00:51:08.947 回答