Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как вставить текст из Excel в Autocad2015

VBA. Как вставить текст из Excel в Autocad2015

Ответ
Поиск в этой теме
Непрочитано 12.08.2016, 17:42 #1
VBA. Как вставить текст из Excel в Autocad2015
KomProekt
 
Регистрация: 12.08.2016
Сообщений: 59

Доброго времени!

Подскажите, как вставить текст из Excel в Autocad?
Есть часть кода:

Dim textShifr As AcadMText
Dim insertPointShifr(0 To 2) As Double
Dim widthShifr As Double
Dim textStringShifr As String
Dim Shifr As String
Dim OB As Long, CB As Long, BS As Long, FS As Long, SC As Long

OB = Asc("{")
BS = Asc("\")
SC = Asc(";")

Shifr = Range("F2").Value

insertPointShifr(0) = 100: insertPointShifr(1) = 500: insertPointShifr(2) = 0

textStringShifr = Chr(OB) + Chr(BS) + "H5" + Chr(SC) + Str(Shifr)

width = 30
Set textShifr = acadDoc.ModelSpace.AddMText(insertPointShifr, widthShifr, textStringShifr)

Если в ячейке F2 стоит число, то все ОК, вставляется и никаких проблем. А если поставить текст, то выдает ошибку "Type mismatch (Error 13)". Как быть?

Спасибо!
Просмотров: 5179
 
Непрочитано 12.08.2016, 18:33
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Минуту, а что ты хочешь получить-то? Заменить Str на CStr - не то?
P.S. Не очень понимаю глубинного смысла сначала строку перегонять в код, потом обратно в строку. Неужели не сработает конструкция типа
textStringShifr = "{\H5;" + CStr(Shifr) + "}"
??
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.08.2016, 20:43
#3
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,001


1. Лучше все таки текстовые стили использовать, а не придумывать эмуляцию форматирования мультитекста.
2. Для кого сделано в VBA пошаговая отладка и окно просмотра переменных?
Сергей812 вне форума  
 
Автор темы   Непрочитано 15.08.2016, 17:11
#4
KomProekt


 
Регистрация: 12.08.2016
Сообщений: 59


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
P.S. Не очень понимаю глубинного смысла сначала строку перегонять в код, потом обратно в строку. Неужели не сработает конструкция типа
textStringShifr = "{\H5;" + CStr(Shifr) + "}"
Срабатывает. Просто как то взял из какого-то примера, а обратно лень было перебивать.

Спасибо за подсказку!
KomProekt вне форума  
 
Автор темы   Непрочитано 15.08.2016, 17:12
#5
KomProekt


 
Регистрация: 12.08.2016
Сообщений: 59


Спасибо за подсказку!
Да, проще не переводить строку в код и обратно. Просто взял как-то из примера, а обратно лень было перебивать.
KomProekt вне форума  
 
Непрочитано 31.07.2018, 16:18 Подскажите..
#6
MegaMost


 
Регистрация: 03.09.2015
Сообщений: 15


как добраться до свойств текста (или Мтекста). Нужно поменять выравнивание.


Set textObj = Thisdrawing.ModelSpace.AddText(DataText.Text, point, DataText.Height)
'Название стиля берется из AutoCad
textObj.StyleName = "RS"
textObj.Layer = DataText.Layer
textObj.Color = DataText.Color
textObj.Rotation = DataText.Angel

'textObj.Alignment = acadAlignmentRight

----- добавлено через ~2 мин. -----
Как изменить свойство текста (или Мтекста). Нужно поменять выравнивание.


Set textObj = Thisdrawing.ModelSpace.AddText(DataText.Text, point, DataText.Height)
'Название стиля берется из AutoCad
textObj.StyleName = "RS"
textObj.Layer = DataText.Layer
textObj.Color = DataText.Color
textObj.Rotation = DataText.Angel

'textObj.Alignment = acadAlignmentRight - эта строчка не работает через Excel, хотя работает, если пользоваться кадовским VBA
MegaMost вне форума  
 
Непрочитано 31.07.2018, 21:07
#7
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от MegaMost Посмотреть сообщение
'textObj.Alignment = acadAlignmentRight - эта строчка не работает через Excel, хотя работает, если пользоваться кадовским VBA
Код:
[Выделить все]
textObj.Alignment = 2 ''' 'Попробуй так. acAlignmentRight = 2
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как вставить текст из Excel в Autocad2015

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ТЕКСТ перенести из AutoCad в Excel? acad_newbie AutoCAD 19 21.07.2023 21:08
LISP. Excel-blocking - экспорт/импорт содержимого аттрибутов блоков в Excel kakt00z Готовые программы 23 10.03.2022 00:54
Подскажите пожалуйста толщину линии и как вставить текст. basik AutoCAD 4 21.04.2011 12:26
извлечь из выноски текст и вставить в таблицу? [email protected] AutoCAD 2 15.03.2011 11:46
Проблема вставки диаграмм в ACAD 2009 из Excel 2007 ST2 AutoCAD 1 26.05.2009 01:30