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

正在寻找可从VBA使用的简单富文本编辑器,vba,richtext,Vba,Richtext,我希望允许我的用户在VBA用户窗体的输入框中输入富文本(粗体、斜体和下划线,但可能仅此而已) 我不希望用户必须安装任何东西,所以我需要它能够充分利用Office或Windows已经提供的功能。显而易见的候选者是内置的Windows 我做了一个快速的测试,并验证了我可以从VBA创建这种类型的窗口,但它缺少的是所有的UI,等等。我真的可以用一段时间来了解如何将它变成可用的东西 我很乐意考虑替代控件,只要它们保证不需要安装(除了作为Excel文件的一部分,包含我的VBA代码的其余部分)。它需要在Win

我希望允许我的用户在VBA用户窗体的输入框中输入富文本(粗体、斜体和下划线,但可能仅此而已)

我不希望用户必须安装任何东西,所以我需要它能够充分利用Office或Windows已经提供的功能。显而易见的候选者是内置的Windows

我做了一个快速的测试,并验证了我可以从VBA创建这种类型的窗口,但它缺少的是所有的UI,等等。我真的可以用一段时间来了解如何将它变成可用的东西


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

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

我在WindowsXP上的Office2003和Windows7上的Office2010中测试了这个控件。看起来您仍然需要提供用户界面,允许用户切换粗体、斜体和下划线


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

您可以自己尝试制作一个简单的UI。向窗体中添加一个命令按钮,该按钮将加粗rich edit控件中选定的文本。或者添加一个命令按钮,该按钮将斜体化、复制或粘贴。你的想象力是你的极限


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

将此放在此处只是为了排除它

“MicrosoftInkEdit控件”似乎是富文本编辑控件的超集(顾名思义,它还支持Ink),可从工具箱上的“附加控件”获得

很难说它是否被广泛安装——它安装在我的XP/2003机器上,但不在我的2K/2K机器上。(我看到它说它是与Vista和Win7一起安装的,但显然也有早期版本)


无论如何,我排除了这一点,因为在运行时使用该控件会导致一条消息,大意是ActiveX控件是“不安全的”(可能与富文本控件本身的众所周知的问题有关)。

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

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


听起来很有趣,但我在列表中没有看到“MSREdit类”。也许它是与其他东西一起安装的(在这种情况下,如果没有我正在寻找的安装解决方案,它不能保证工作)。我不知道它是否与Rich TextBox控件6.0相同。它在
MSRTEDIT.DLL
中,在我的系统上,它位于
C:\Program Files\Micorosft Office
下,所以我认为它是与Office一起安装的。我认为它可能是与Access一起安装的,因为我在搜索信息时得到的许多Google点击都与Access有关。你对表单有什么控制?我在工具箱中没有看到“丰富编辑”,即使我选择了“附加控件”。您需要从VBA设置对控件的引用。按Alt+F11,单击工具>参考。在我的计算机中,它被称为“msrtedit 1.0类型库”。或者,在2010年,点击开发者>插入>更多控件(在ActiveX控件下)>MSREdit类。我在我的机器上看不到这一点。我假设这与丹尼斯·帕尔默的答案基本相同——只有在安装了特定软件的情况下,DLL才会出现。也许可以再次访问(我想知道这是否是同一个控件)。谢谢,我能够让Lebans的东西工作到一定程度,尽管那里的代码非常可怕。现在我的问题是如何将样式化文本返回到Excel单元格中。。。(Excel不理解RTF,到目前为止,我发现解决这一问题的唯一方法是将RTF从控件复制到Word中,然后将其从Word复制到Excel!YUK)。我们可能只想用HTML而不是RTF。我发现了一篇关于在单元格中使用HTML的有趣文章,请查看该文章中的注释,了解一些VBA在实现格式方面的想法。