VBA: загрузка файла в iManage/Worksite в определенную папку
Я знаю, что уже есть сообщения о загрузке на сайт, но у меня проблема с другой частью.
Допустим, у меня есть определенный FolderID, и я хотел бы иметь возможность загружать файлы в этот каталог. (У меня есть ссылка на iManage.dll и ImanEXTLib).
То, с чем я борюсь, это окно диалога / импорта. Я не могу заполнить определенные поля на уровне кода.
В идеале я хотел бы пропустить этот этап, чтобы сделать загрузку еще быстрее, потому что, если я передаю все необходимые данные, я не вижу никакой точки в диалоговом окне, кроме нажатия кнопки ОК. Но это продолжается... Это код (VBA):
Я нахожу папку с помощью ManDMS.CreateSearchParameters
После получения результатов:
Dim rslts as IManFolders
Set rslts = IManSession.WorkArea.SearchFolders(<ManStrings>,<SearchParameters>)
If rslts.Empty = True Then
MsgBox "Found shit."
Elseif rslts.Empty = False Then
Dim TgtFdr as ImanFolder
Set impCmd = ImportCmd
Set context = New ContextItems
Set TgtFdr = rslts.ItemByIndex(1)
Сейчас я устанавливаю элементы контекста, но у меня проблема с Matter и Subclass. Они обязательны для загрузки, но поля остаются пустыми, и я не знаю, как к ним обратиться, чтобы завершить загрузку:
context.Add("IManDestinationObject", TgtFdr)
context.Add("IManExt.Import.DocAuthor", UserID)
context.Add("IManExt.Import.DocDescription", file Name)
context.Add("IManExt.Import.FileName", file path)
context.Add("IManExt.Import.DocClass", "some info")
context.Add("IManExt.Import.DocSubclass", "some info")
context.Add("IManExt.Import.DocMatter", "some info")
impCmd.Initialize context
impCmd.Update
If impCmd.Status = IMANEXTLib.CommandStatus.nrActiveCommand Then
impCmd.Execute
Else
Endif
Пробовал разные вещи - MatterID, MatterDesc, Custom1,2,3,. Бесполезно Можно ли пропустить деталь в этом окне и загрузить файл более простым способом? Кроме того, как вы думаете, возможно ли взять номер документа недавно импортированного файла в конце с VBA?
Я попробовал ниже, но это не работает:
UplDoc = (ImanDocument)context.Item("ImportedDocument")
Заранее спасибо за любые советы.
1 ответ
Я все понял.
Вроде... Я зашел в браузер объектов и сумел обойти проблему и воспользоваться методом.DuplicateProfileFromDoc. Я просто отражаю профиль загруженного документа от другого, уже сохраненного на рабочем месте.
Последний бит тоже решен. Так должно быть:
Set UplDoc = context.Item("ImportedDocument")
Ура!