2011-11-24 81 views
3

在输入框上的VBA用户窗体编辑,我想,让我的用户输入富文本(用粗体,斜体&下划线,但可能没有什么比这更)。寻找一个简单的富文本使用从VBA

我不希望用户安装任何东西,所以我需要这是东西,利用什么办公室或Windows已经提供了。明显的候选者是Windows内置的Rich Edit control

我做了一个快速测试,并验证了我可以从VBA创建一个这种类型的窗口,但它缺乏的是所有的UI等等。我真的可以用一个关于如何转换这个变成可用的东西。

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

回答

0

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

我在这两个办公室2003年的Windows XP和Office 2010测试这种控制在Windows 7看起来你仍然需要允许用户切换粗体,斜体和下划线提供UI。

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

+0

听起来有趣,但我没有看到列表中的“MSREdit类”。也许它会与其他东西一起安装(在这种情况下,它不是我正在寻找的保证工作无需安装的解决方案)。 –

+0

嗯......这是吗? http://support.microsoft.com/kb/838010 –

+0

我无法分辨它是否与Rich TextBox Control 6.0相同。它位于我的系统上的'C:\ Program Files \ Micorosft Office'下的'MSRTEDIT.DLL'中,所以我认为它是与Office本身一起安装的。 – CoderDennis

1

您可以尝试自己制作一个简单的用户界面。将一个命令按钮添加到将丰富的编辑控件中选定的文本加粗的窗体。或者添加一个斜体或复制或粘贴命令按钮。你的想象力是你的极限。

我被检查丰富的编辑版本1.0在Excel 2010中,我可以在控制访问该文本。

+0

你对表格有什么控制?我没有在我的工具箱中看到“丰富的编辑”,即使我选择了“附加控件”。 –

+0

您需要从VBA设置对控件的引用。按下Alt + F11,点击工具>参考。在我的电脑中,它被称为“msrtsit 1.0类型库”。或者,在2010年,单击开发人员>插入>更多控件(在ActiveX控件下)> MSREdit类。 – Bobort

+0

我在我的机器上看不到。我认为这与Dennis Palmer的回答基本上是相同的问题 - 只有在安装了特定软件的情况下才会出现DLL。也许再次访问(我不知道这是否实际上是相同的控制)。 –

0

把这个这里只是为了排除这种可能性......

看来,“微软InkEdit控件”,这是可以从工具箱中的“其他控件”,是富文本编辑控件的超集(顾名思义,它也支持Ink)。

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

无论如何,我已经解决了这个问题,因为在运行时使用控件导致ActiveX控件“不安全”(大概与Rich Text Control本身出现的众所周知的问题)有关。