2013-07-31 111 views
0

Word 2010文檔具有顯示一些文本的ActiveX標籤。有沒有什麼方法可以讓用戶從視角來選擇文字或以其他方式進行復制,以便將其粘貼到其他地方?如何從Word 2010 ActiveX標籤中選擇(或複製)文本?

使用案例:我將表單提交給某人,他們將其填寫並返還給我。有問題的元素是一個標籤,當它被雙擊時,會產生帶有ListBox的UserForm1。一旦做出一個或多個選擇並且用戶在UserForm1上按下確定,則Word文檔中的標籤將被更新。然後我收到表格,並且想要右鍵單擊標籤,複製文本並將其粘貼到電子郵件中。

+0

從用戶的角度來看?爲什麼不依靠文本框?你可以改變它的格式,使它看起來像一個標籤。 – varocarbas

+0

如果你想這樣做(獲得標籤的文本)與vba它可能... –

+0

@varocarbas從用戶的角度來看。我嘗試了一個TextBox,但是我發現的問題是一旦用戶在列表框中選擇了幾個項目並按下確定,所選項目確實將transferref轉移到文本框中,但並非所有項目都處於視圖中;我不得不在文本框中向上滾動才能到達頂部。此屏幕截圖顯示了TextBox和正在使用的標籤之間的區別: https://www.dropbox.com/s/wgoj7x3s6ofxpae/word2010a.png –

回答

0

至少從最終用戶的角度來看,您是不可能的。讓我解釋。

我開始希望用Label實現這一點,但很快發現我無法複製使用傳統ctrl-c或右鍵單擊>複製顯示的文本。

所以,我把它切換到了一個TextBox。雖然有一個缺陷,但是這種方法有些效果並且顯示了數據:Word 2010似乎在TextBox的最後一行和TextBox的底部之間放置了一堆無法選擇的空間,這使得大部分內容都隱藏起來,直到您滾動回到它的頂部。

這裏是什麼樣子:

Comparison of TextBox vs Label approach before the fix

通知最後一個項目下面的所有空的,不可選擇的空間,在列表中?

我的問題的解決方案沒有在框中顯示100%的文本是使用這行代碼,它將光標置於文本的頂部的文本框中的值:

ThisDocument.functionalComponentsTextBox.SelStart = 0 

這基本上模擬用戶在文本框中手動點擊並按下向上鍵直到他到達文本框的頂部。因此,列表框中的選擇現在存儲在文本框中,其中的內容可以作爲業務流程的一部分複製和粘貼到任何位置。

以下是它的外觀:與正確顯示的標籤方法相比完美匹配!額外的獎勵:文本是可選擇的,並且TextBox是可定製的,所以我從它移除了邊界...不能分辨出區別!

Comparison of TextBox vs Label approach after the fix

相關問題