2011-11-24 114 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本身出現的衆所周知的問題)有關。

相關問題