2012-07-12 35 views
1

我需要一個可以在vba中讀取的單詞形式的不可編輯字段。在表單中存儲隱藏的不可編輯變量。 Word 97兼容

當前我使用隱藏的文本字段。如:

ActiveDocument.FormFields("DocID").Select 
    Selection.Font.Hidden = false 
//do read then re-hide it. 

但是用戶還是「標籤」在這個文本字段,可以覆蓋該文件的ID是存在的,因此無效VBA宏。不幸的是,這是發生了什麼。

我可以將文本字段屬性'Fill-in enabled'設置爲false,從而在窗體中提供所需的效果,即用戶無法對其進行編輯。但是現在這個文本字段不能用vba讀取。

ActiveDocument.FormFields("DocID").SomeProperty 
//throws error 'The requested member of the collection does not exist' 

所以我的問題是,是有辦法,我可以存放在會在VBA宏來讀一個字的形式隱藏的變量?

不幸的是,這必須是一個Word-97兼容的解決方案。

+0

試試這個'ActiveDocument.FormFields( 「的DocID」)Range.Text' – 2012-07-12 10:56:02

+0

不幸的是,讓同樣的錯誤(當docID的。表單字段設置爲'填充啓用'= false)。問題是DocId沒有找到,除非'填充啓用'設置爲true。 – 2012-07-12 11:03:09

+0

我沒有Office 97.你可以爲我創建一個示例文檔並上傳它。讓我對它進行修補。 – 2012-07-12 11:04:38

回答

0

你可以使用自定義文檔屬性,而不是,在這裏看到:

http://msdn.microsoft.com/en-us/library/aa537154(v=office.11).aspx

+0

自定義屬性是可編輯的。 – skatun 2017-01-10 19:36:00

+1

呃,當然,它可能更準確地表明問題沒有充分具體而不是答案不正確,但是。注意答案中的評論中的對話。我懷疑這個問題的真正含義是'用戶不容易/意外編輯'。 – mkingston 2017-01-12 14:22:50