Имя файла недостающего в сборке

Автор Тема: Имя файла недостающего в сборке  (Прочитано 2120 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ElfilagasАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 117
  • Карма: 4
Добрый день,
Подскажите, пожалуйста, можно ли как то получить имена файлов, которых не хватает в сборке?

Отмечено как Решение Elfilagas 08-09-2017, 12:48:35

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Имя файла недостающего в сборке
« Ответ #1 : 05-09-2017, 12:12:49 »
Где то тут:
Для первой детали
Код - Visual Basic [Выбрать]
  1. Sub rr()
  2. Dim Ass As AssemblyDocument
  3. Set Ass = ThisApplication.ActiveDocument
  4. Dim Occur As ComponentOccurrence
  5. Set Occur = Ass.ComponentDefinition.Occurrences(1)
  6. Sub rr()
  7. Dim Ass As AssemblyDocument
  8. Set Ass = ThisApplication.ActiveDocument
  9. Dim Occur As ComponentOccurrence
  10. Set Occur = Ass.ComponentDefinition.Occurrences(1)
  11.  
  12. If Occur.ReferencedDocumentDescriptor.ReferencedFileDescriptor.ReferenceMissing Then
  13. MsgBox Occur.ReferencedDocumentDescriptor.ReferencedFileDescriptor.FullFileName
  14. End If
  15.  
  16. End Sub
  17.  
  18.  

Там если массив то смотри:
AssemblyDocument.ComponentDefinition.OccurrencePatterns

Оффлайн ElfilagasАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 117
  • Карма: 4
Re: Имя файла недостающего в сборке
« Ответ #2 : 08-09-2017, 10:03:58 »
Спасибо, да все работает, подскажите еще один момент.
При отсутствии сборки в составе, открываю сборку через  ThisApplication.Documents.Open(FileName, False) и при каждом открытии появляется окно поиска компонентов, можно ли ка то сделать, чтобы окно не появлялось, т.к. при большом количестве входящих сборок много сообщений приходится пропускать.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Имя файла недостающего в сборке
« Ответ #3 : 08-09-2017, 12:44:32 »
Логика подсказывает что нужно другой метод:
Documents.OpenWithOptions(FullDocumentName As String, Options As NameValueMap, [OpenVisible] As Boolean )
Здесь тонкость это задать опции через NameValueMap
Правильное название опций для NameValueMap можно найти здесь
http://adndevblog.typepad.com/manufacturing/2013/04/specify-import-unit-for-sat-file-using-openwithoptions.html
там есть SkipAllUnresolvedFiles

Можно так же попробовать на время открытия сделать:
Application.SilentOperation=true
только после открытия не забыть назад сделать
Application.SilentOperation=false