寻找可从VBA使用的简单富文本编辑器

时间:2011-11-24 11:11:36

标签: vba richtext

我想允许我的用户在VBA用户表单的输入框中输入富文本(粗体,斜体和下划线,但可能只是那个)。

我不希望用户必须安装任何东西,因此我需要使用它来利用Office或Windows已经提供的功能。显而易见的候选者是Windows内置的Rich Edit control

我做了一个快速测试,并确认我可以从VBA创建一个这种类型的窗口,但它缺少的是所有的UI等等。我真的可以使用一个简单的方法,然后我如何把它变成可用的东西。

我很乐意考虑替代控件,只要他们保证不需要安装(除了作为包含我的其余VBA代码的Excel文件的一部分)。它需要在Windows XP及更高版本以及Office 2003及更高版本上运行。

4 个答案:

答案 0 :(得分:1)

您可以尝试自己创建一个简单的UI。向表单添加一个命令按钮,该按钮将在富编辑控件中加粗选定的文本。或者添加一个斜体或复制或粘贴的命令按钮。你的想象力是你的极限。

我在Excel 2010中检查了Rich Edit Version 1.0,我可以访问控件中的文本。

答案 1 :(得分:1)

对于任何仍在搜索此内容的人。正如 Gary McGill 所说,“Microsoft InkEdit Control”是您的最佳选择。

使用下面的链接来参考它可以使用的变量:

https://www.thevbprogrammer.com/Ch10/10-06-RichTextBox.htm

答案 2 :(得分:0)

在Excel的Visual Basic编辑器中打开“工具箱”窗口,从菜单中选择“工具” - >“其他控件”。选中MSREdit Class旁边的框。这会将富文本控件添加到工具箱中。从那里你可以将它添加到UserForm。

我在Windows XP上的Office 2003和Windows 7上的Office 2010中测试了此控件。看起来您仍然需要提供用户界面以允许用户切换粗体,斜体和下划线的UI。

它接受我从Word复制的一些富文本的粘贴(通过Ctrl+V),但我无法弄清楚如何在控件中键入文本时切换字体格式。

答案 3 :(得分:0)

这里只是为了排除......

“Microsoft InkEdit Control”似乎可以从工具箱上的“Additional Controls”获得,它是Rich Text Edit控件的超集(顾名思义,它也支持Ink)。

很难说这是否广泛安装 - 它在我的XP / 2003机器上,而不是在我的2K / 2K机器上。 (我已经看到它说它安装了Vista和Win7,但显然也有早期版本。)

无论如何,我正在排除这一点,因为使用控件会在运行时生成一条消息,表明ActiveX控件“不安全”(可能与Rich Text Control本身的众所周知的问题有关)。 / p>