Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2014, 01:45   #1
Kefirrr
Пользователь
 
Регистрация: 05.06.2010
Сообщений: 53
По умолчанию перенос данных из excel в autocad

Доброе всем время суток, уважаемые форумчане!
Надеюсь на вашу помощь, или может быть направите меня в правильное русло.
У меня есть автокадовский файл, в нем несколько блоков с атрибутами. есть excel-файл , где с помощью макроса я переношу все значения атрибутов из автокада к себе в табличку. (должны быть открыты оба документа)
Вопрос в следующем: я хочу поменять в xls-табличке значения некоторых параметров, и чтобы они перенеслись в автокадовский документ. Как можно видоизменить макрос, чтобы решить эту проблему.

(прикладываю архив с xls- и dwg-файлами)

Заранее спасибо
Вложения
Тип файла: zip excel_autocad.zip (416.2 Кб, 64 просмотров)
Kefirrr вне форума Ответить с цитированием
Старый 21.09.2014, 11:28   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Выложите файл dwg в версии для 2007-2008 или 2012
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 21.09.2014, 14:22   #3
Kefirrr
Пользователь
 
Регистрация: 05.06.2010
Сообщений: 53
По умолчанию

прикрепляю файл в версии 2004 autocad
Вложения
Тип файла: zip перенос_атрибутов.zip (120.1 Кб, 50 просмотров)
Kefirrr вне форума Ответить с цитированием
Старый 21.09.2014, 16:16   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Пример для одного блока.Поиск производится по точке вставки рамкой +-2 единицы от точки вставки.
Код:
Const acSelectionSetCrossing As Integer = 1
Sub zamena()
    Set ACADApp = GetObject(, "AutoCAD.Application")
    Set ADOC = ACADApp.ActiveDocument
    Dim pt1(0 To 2) As Double, X As Double, Y As Double
    Dim pt2(0 To 2) As Double
    X = 8952.35416254935
    Y = 9175.84467999433
    pt1(0) = X - 2
    pt2(0) = X + 2
    pt1(1) = Y - 2
    pt2(1) = Y + 2
    Set objSelCol = ADOC.SelectionSets
    For Each objSelSet In objSelCol
        If objSelSet.Name = "a_doober" Then
            objSelSet.Delete
            Exit For
        End If
    Next
    Set objSelSet = objSelCol.Add("a_doober")

    objSelSet.Select acSelectionSetCrossing, pt1, pt2

    For Each entry In objSelSet

        ObjectName = entry.ObjectName
        If ObjectName = "AcDbBlockReference" Then

            For Each attribs In entry.GetAttributes
          
                Select Case attribs.TagString

                Case "НАИМЕНОВАНИЕ"
                    attribs.TextString = "Что то новое"
                Case "ПОЗИЦИЯ"
                    attribs.TextString = "Что то новое"
                Case "СИСТЕМА"
                    attribs.TextString = "Что то новое"
                Case "ОБОЗНАЧЕНИЕ"
                    attribs.TextString = "Что то новое"
                Case "ПРИМЕЧАНИЕ"
                    attribs.TextString = "Что то новое"
                End Select
            Next
            
            entry.Update
                End If
        Next entry

    objSelSet.Delete
    ADOC.Close (True)
  Set ADOC = Nothing
  ACADApp.Quit
 Set ACADApp = Nothing
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 21.09.2014, 18:07   #5
Kefirrr
Пользователь
 
Регистрация: 05.06.2010
Сообщений: 53
По умолчанию

doober, спасибо за быстрый ответ. Но у меня все время ссылается на то, что не может найти объект ACADApp и т.д. может подскажете почему такое?
Kefirrr вне форума Ответить с цитированием
Старый 21.09.2014, 19:43   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

У вас есть ссылки на автокад 2013.где вы их подцепили,не знаю.
Зайдите в tools-references,удалите missing на недостающие библы.
Или создайте новую книгу,модуль,в него код,скопируйте данные с листа на лист
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 21.09.2014, 20:13   #7
Kefirrr
Пользователь
 
Регистрация: 05.06.2010
Сообщений: 53
По умолчанию

Все заработало. Огромное спасибо. Пойду разбираться детально с кодом
Kefirrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных из Excel в DBGrid demiancz БД в Delphi 5 30.11.2013 23:55
Перенос данных из Excel en'ka Microsoft Office Excel 5 11.10.2012 16:25
перенос данных из Excel в StrinGrid Асёк Борисова Помощь студентам 0 17.05.2012 15:08
Перенос данных в Excel barmy Microsoft Office Word 1 17.12.2009 09:09