我在stackexchange和其他网站(vbaexpress,MSDN等)上搜索了高低。围绕这个有广泛的对话,我已经尝试了大部分的例子,但仍然没有任何工作。
场景:
所有这一切都很好。
vba还包含用于存储内置属性和自定义属性的代码: 代码示例:
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add(tName)
objWord.Visible = True
objDoc.BuiltinDocumentProperties("Title") = "2040"
With objDoc.CustomDocumentProperties
.Add name:="DocLevel", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:="Confidential"
.Add name:="UserDiscipline", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:="Broker"
End With
objDoc.SaveAs (fPath)
objDoc.CheckIn
另外,假设属性已经是模板中的对象,我尝试了这个只是没有.Add的设置:
objDoc.CustomDocumentProperties name:="DocLevel", LinkToContent:=False, _
Type:=msoPropertyTypeString, Value:="Confidential"
一切正常 - 除外 - 不保存自定义文档属性。即使是已建成的也会被保存 - 但不是自定义的。
我有MS Office 14.0对象库,14.0 Access库和VB可扩展性。我还需要其他一些参考吗?
感谢Overflow社区提供任何帮助......
答案 0 :(得分:1)
答案是......
有一种完全不同的方法:ContentTypeProperties!
'customdocumentproperties'是Word文档的属性。由于这是尝试向SharePoint库提供自定义内容,因此需要使用不同的方法:
doc.ContentTypeProperties("UserDiscipline").Value = "Broker"
发布这个希望其他人在这里不必重做同样的研究。