Обновление свойств чертежа через excel

Автор Тема: Обновление свойств чертежа через excel  (Прочитано 7769 раз)

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

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Добрый день!
Очень нужен макрос для обновления значений созданных свойств чертежа Autocad 2016 через Excel.
Возможно, кто-то уже сталкивался с подобной задачей.
Буду очень признателен.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Приветствую на форуме. Этот раздел посвящен программированию на VBA для AutoCAD. Т.е. нужно чтобы вы показали свой код и возможно кто-то поможет его исправить. Если же вам нужно, чтобы кто-то за вас решил вашу задачу, то вы ошиблись разделом и вам сюда: http://adn-cis.org/forum/index.php?board=38.0
Там вы можете заказать разработку и возможно найти исполнителя.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Спасибо за пояснение.
Вот часть исходного кода:

Код - Visual Basic [Выбрать]
  1. For Each objCell In Selection
  2.       strName = objCell.Value
  3.       varVal = objCell.Offset(0, 1).Value
  4.       strVal = varVal
  5.       On Error Resume Next
  6.       objAcadDoc.SummaryInfo.strName = strVal
  7. Next

Необходимо подружить автокад с экселем так, чтобы для каждого strName в файле эксель, совпадающего с именем свойства чертежа автокада, менялось его значение на strVal.
« Последнее редактирование: 07-05-2019, 18:47:10 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Anagnost,
1. По поводу форматирования кода у нас на форуме читайте у меня в подписи и неуклонно соблюдайте это правило. Для первого раза я исправил сам.
2.
Необходимо подружить автокад с экселем так, чтобы для каждого strName в файле эксель, совпадающего с именем свойства чертежа автокада, менялось его значение на strVal.
И в чем проблема?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
1. Спасибо, понял.
2. В том и все дело, что 6-я строчка не оправдывает возложенных на нее ожиданий))

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
2. В том и все дело, что 6-я строчка не оправдывает возложенных на нее ожиданий))
И не должна. Смотрим пример из документации и делаем выводы:
Код - Visual Basic [Выбрать]
  1. Sub Example_SummaryInfo()
  2.     ' This example shows how to access drawing properties
  3.            
  4.     ' Add and display standard properties
  5.    ThisDrawing.SummaryInfo.Author = "John Doe"
  6.     ThisDrawing.SummaryInfo.Comments = "Includes all ten levels of Building Five"
  7.     ThisDrawing.SummaryInfo.HyperlinkBase = "http://www.autodesk.com"
  8.     ThisDrawing.SummaryInfo.Keywords = "Building Complex"
  9.     ThisDrawing.SummaryInfo.LastSavedBy = "JD"
  10.     ThisDrawing.SummaryInfo.RevisionNumber = "4"
  11.     ThisDrawing.SummaryInfo.Subject = "Plan for Building Five"
  12.     ThisDrawing.SummaryInfo.Title = "Building Five"
  13.  
  14.     Author = ThisDrawing.SummaryInfo.Author
  15.     Comments = ThisDrawing.SummaryInfo.Comments
  16.     HLB = ThisDrawing.SummaryInfo.HyperlinkBase
  17.     KW = ThisDrawing.SummaryInfo.Keywords
  18.     LSB = ThisDrawing.SummaryInfo.LastSavedBy
  19.     RN = ThisDrawing.SummaryInfo.RevisionNumber
  20.     Subject = ThisDrawing.SummaryInfo.Subject
  21.     Title = ThisDrawing.SummaryInfo.Title
  22.     MsgBox "The standard drawing properties are " & vbCrLf & _
  23.             "Author = " & Author & vbCrLf & _
  24.             "Comments = " & Comments & vbCrLf & _
  25.             "HyperlinkBase = " & HLB & vbCrLf & _
  26.             "Keywords = " & KW & vbCrLf & _
  27.             "LastSavedBy = " & LSB & vbCrLf & _
  28.             "RevisionNumber = " & RN & vbCrLf & _
  29.             "Subject = " & Subject & vbCrLf & _
  30.             "Title = " & Title & vbCrLf
  31.  
  32.     ' Add and display custom properties
  33.    Dim Key0 As String
  34.     Dim Value0 As String
  35.     Dim Key1 As String
  36.     Dim Value1 As String
  37.     Dim CustomPropertyBranch As String
  38.     Dim PropertyBranchValue As String
  39.     Dim CustomPropertyZone As String
  40.     Dim PropertyZoneValue As String
  41.  
  42.     CustomPropertyBranch = "Branch"
  43.     PropertyBranchValue = "Main"
  44.     CustomPropertyZone = "Zone"
  45.     PropertyZoneValue = "Industrial"
  46.  
  47.     ' Add custom properties
  48.    If (ThisDrawing.SummaryInfo.NumCustomInfo >= 1) Then
  49.         ThisDrawing.SummaryInfo.SetCustomByIndex 0, CustomPropertyBranch, PropertyBranchValue
  50.     Else
  51.         ThisDrawing.SummaryInfo.AddCustomInfo CustomPropertyBranch, PropertyBranchValue
  52.     End If
  53.  
  54.     If (ThisDrawing.SummaryInfo.NumCustomInfo >= 2) Then
  55.          ThisDrawing.SummaryInfo.SetCustomByKey CustomPropertyBranch, "Satellite"
  56.     Else
  57.          ThisDrawing.SummaryInfo.AddCustomInfo CustomPropertyZone, PropertyZoneValue
  58.     End If
  59.  
  60.     'Get custom properties
  61.    ThisDrawing.SummaryInfo.GetCustomByIndex 0, Key0, Value0
  62.     Key1 = CustomPropertyZone
  63.     ThisDrawing.SummaryInfo.GetCustomByKey Key1, Value1
  64.  
  65.     MsgBox "The custom drawing properties are " & vbCrLf & _
  66.             "First property name = " & Key0 & vbCrLf & _
  67.             "First property value = " & Value0 & vbCrLf & _
  68.             "Second property name = " & Key1 & vbCrLf & _
  69.             "Second property value = " & Value1 & vbCrLf
  70. End Sub
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Большое спасибо за ответы, но, к сожалению, все попытки привязать приведенные коды к моей задаче для 2016 Автокада успехом не увенчались.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Большое спасибо за ответы, но, к сожалению, все попытки привязать приведенные коды к моей задаче для 2016 Автокада успехом не увенчались.
Значит ищите специалиста.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение