以编程方式添加自定义文档属性的无效过程错误

时间:2018-05-09 13:06:21

标签: excel vba excel-vba properties runtime-error

我正在尝试使用VBA将自定义文档属性添加到由另一个子创建的新工作簿。我希望我的代码将属性添加到活动工作簿。最终目标是SharePoint在上载工作簿时读取这些属性(到目前为止工作正常)。

我正在尝试下面的代码而没有运气并继续收到错误“无效的程序调用或参数”

ActiveWorkbook.CustomDocumentProperties.Add "Part Number", True, _
    msoPropertyTypeString, "PartNumberMetadata.Value"
  

Name of Doc Property = "Part Number"
  Linked to Content = True
  Doc Property Type = msoPropertyTypeString
  Value = "PartNumberMetadata" '(A named range in my workbook)

有人可以解释我做错了吗?

1 个答案:

答案 0 :(得分:0)

您的参数不正确。

基本上是:

  • 如果LinkToContent = True,则需要LinkSource参数。

  • 如果LinkToContent = False,则需要Value参数。

语法:

ActiveWorkbook.CustomDocumentProperties.Add (Name, LinkToContent, [Type], _
    [Value], [LinkSource])

Value属性的数据值,如果它未链接到容器文档的内容。转换该值以匹配Type参数指定的数据类型,如果无法转换,则会发生错误。

如果LinkToContentTrue,则忽略该参数并为新文档属性分配一个默认值,直到容器应用程序更新链接的属性值(通常保存文件时。)

LinkSource

LinkToContentFalse时忽略。 LinkSource属性的来源。容器应用程序确定您可以使用哪种类型的源链接。

例如, DDE 链接使用Server|Document!Item语法。

有关详细信息,请参阅documentation