Ошибка недопустимой процедуры при программном добавлении пользовательских свойств документа - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь использовать 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 голосов
/ 09 мая 2018

У вас неверные параметры.

в основном:

  • если LinkToContent = True, то требуется аргумент LinkSource.

  • , если LinkToContent = False, то аргумент Value обязателен.

Синтаксис:

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

Значение

Значение данных свойства Value, если оно не связано с содержимым документа контейнера. Значение преобразуется в соответствии с типом данных, указанным в аргументе Type, и если его невозможно преобразовать, возникает ошибка.

Если LinkToContent равно True, аргумент игнорируется , и новому свойству документа присваивается значение по умолчанию до тех пор, пока значения связанных свойств не будут обновлены приложением контейнера (обычно при сохранении документа ).


LinkSource

Игнорируется, если LinkToContent равно False. Источник свойства LinkSource. Контейнерное приложение определяет, какие типы ссылок на источники вы можете использовать.

Например, DDE ссылки используют синтаксис Server|Document!Item.


См. документацию для получения дополнительной информации.

...