2014-10-17 18 views
1

首先,我的盡職調查收集了大量有關ActiveX文本框的答案,但沒有涉及對象文本框。對於我的項目,我無法使用任何ActiveX。Excel:對象文本框無法在受保護與未受保護的工作表狀態中執行回車換行(w/Text Unlocked)...爲什麼?

好的,所以當工作表是不受保護的時候,一個對象文本框(來自插入>形狀)的工作方式非常符合我的需要:最重要的是我可以按Enter鍵並獲得回車。然後,我進入形狀屬性,取消選中鎖定文本,並保護工作表。

雖然工作表受到保護,但回車(輸入Enter,然後往下走一行)的能力就會消失。 Shift + Enter和Alt + Enter也不行。

難道只有不可能有此功能?有沒有解決方法?爲什麼Excel恨我?下面是我的一些想法:

  • 撤消工作表被點擊文本框時/激活,保護在不 (無法弄清楚的語法在VBA這個「如果相交......」就是我「M思考)
  • 插入Word文檔對象(因爲一鍵進入 公式欄編輯不喜歡這樣,我不能讓字體留)
  • 只需使用一個合併的單元格,並指示用戶雙擊輸入 並使用Alt + Enter作爲新行。

現在的獲勝選項是使用合併的單元格,但我可能只需查看ActiveX是否可以在我們的網絡上工作。儘管如此,我真的想在這裏堅持KISS原則......儘管如此,我不介意在後端編碼以使其工作。

謝謝你的想法!

編輯:下面是一些圖像,以幫助...

下面是我想有,當我的工作表被保護功能: Unprotected Text Box Shape

其次,這是一個ActiveX文本框它顯示屬性窗口(開發人員>設計模式>屬性)。當工作表受到保護時,使其有些可用的屬性以紅圈,多行和回車鍵行爲圈出。但是,我更喜歡不必使用ActiveX ...另外,用戶不能逐行更改字體顏色。

ActiveX Text Box

最後,我發現這個有趣的:有窗體控件下另一個文本框是灰色的。從搜索中,它看起來像是被拿走了文本框的繪圖對象版本......或者它也是一樣的?左邊是繪圖對象,中間是灰色的Form Control,右邊是ActiveX。

enter image description here

總之,我只是想看看是否有辦法有一個未受保護的表的形狀文本框的功能,當片被保護。

+0

你是指文本框(表格控件)還是文本框(形狀)? – 2014-10-17 19:48:59

+1

我想這將是一個文本框(形狀)。源自「插入」>「形狀」的那個。 – JohnstownFlood 2014-10-17 19:58:11

+0

在普通情況下保護表單時,我根本無法編輯* Textbox形狀。 – 2014-10-17 20:02:56

回答

1

假設你與一個TextBox 形狀工作,從帶插入時,這裏:

Sheet1.Protect DrawingObjects:=False 

enter image description here

然後就可以在Protect方法使用可選參數這將允許用戶編輯工作表上的文本框,但工作表本身將保持保護。

如果您使用的是表單控件(從Develper /設計色帶插入),那麼你可以通過訪問設置.MultiLine屬性形狀的OLEFormat.Object

Sub test() 

Dim tb As Shape 
Dim x As Object 

'Get a handle on the SHAPE 
Set tb = ActiveSheet.Shapes(2) 
'You have to access its properties from the OLEFormat.Object: 
tb.OLEFormat.Object.Object.MultiLine = True 

End Sub 

在我的測試,即使是在受保護的工作表這個允許用戶 + 輸入插入回車:

enter image description here

+1

David,謝謝你的詳細回覆,並花時間剪下圖片。它告訴我,我們都在看同樣的事情。 您的答案的第一部分,使用插入功能區中的文本框形狀,我嘗試了兩種方法:使用「編輯對象」+「選擇解鎖的單元格」選中並通過您提供的代碼保護表單這是我在搜索結果中找到的)。我很確定'Sheet1.Protect DrawingObjects:= False'與「Select Unlocked Cells」做同樣的操作...正確嗎? 對於第二部分,我只有ActiveX文本框作爲選項。看我的OP編輯。 – JohnstownFlood 2014-10-18 01:09:38

0

Ctrl + Shift + Enter似乎可以在受保護的工作表上工作。

相關問題