2012-07-12 34 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