Выгрузка содержимого таблицы nanoCAD в Excel
Здравствуйте,
подскажите пожалуйста как с помощью vba-excel выгрузить выбранную таблицу-NanoCAD на чертеже в новый лист Excel?
Заранее спасибо!
Начало кода:
Dim acadApp As nanoCAD.Application
Dim acadDoc As nanoCAD.Document Application.DisplayAlerts = False Set acadDoc = acadApp.ActiveDocument Dim objSelectionSet As nanoCAD.SelectionSet On Error Resume Next
acadDoc.SelectionSets("TempSSet").Delete
On Error GoTo 0
Set objSelectionSet = acadDoc.SelectionSets.Add("TempSSet")
objSelectionSet.SelectOnScreen
If objSelectionSet.count = 0 Then Exit Sub Dim tbl As Object Dim exportWorkbook As Workbook On Error Resume Next
Set tbl = objSelectionSet.ListObject
On Error GoTo 0 Set exportWorkbook = Workbooks.Add exportWorkbook.Worksheets(1).Name = "Экспортированная таблица"
?как вставить скопированную таблицу
Ответы
-
-
У меня нет доступа к этому клубу
0 -
Как так? Регистрируйтесь :-)
0 -
При регистрации длинный договор заполняется. Пока с этим думаю
0 -
Фрагмент кода ниже позволяет выгрузить из ячеек таблицы-NanoCAD в Excel содержимое, включая формулы.
Dim acadTable As Object
Dim sText As StringWith acadTable.Cell(i + 1, j + 1)
sText = .Text
End WithWith wsActiveSheet.Cells(i + lStartSelRow - lStartAcadRow, j + lStartSelCol - lStartAcadCol)
If Len(sText) > 0 Then
.FormulaLocal = sText
End If
End WithПодскажите пожалуйста как изменить код, чтобы выгружались значения формул?
0 -
посмотри в отладчике значения в Locals
0 -
В Excel выводится хоть какой-то результат только при "sText = .Text".
Может до переноса таблицы ее значения формул можно преобразовать в текст (*возможно средствами NanoCAD)?0 -
ты получаешь value ячейки, а ячейка на самом деле не текст а объект с дофига свойств и то что ты получаешь одно из свойств не нужное тебе
Dim cel As SymTableCell
получим объект
Set cel = acadTable.Cell(1, 3)
и его значение.. text это будет формула
txt = cel.DisplayText
то что отображается в ячейке
***коль не хочешь в клуб, у меня в блоге есть мануал по McCom2, в самой первой статье0 -
так надо
For i = 1 To acadTable.ColCount
For j = 1 To acadTable.RowCount
Debug.Print "DisplayText: " & acadTable.Cell(j, i).DisplayText & " " & "Text: " & acadTable.Cell(j, i).Text
Next
Next0 -
Спасибо, получилось!
0
Разделы
- Все разделы
- 64 Общие вопросы
- 57 Работа nanoCAD в ОС Linux
- 437 Платформа nanoCAD
- 20 nanoCAD GeoniCS
- 88 nanoCAD BIM Строительство
- 42 nanoCAD Механика PRO
- 63 nanoCAD BIM Электро
- 11 nanoCAD BIM Вентиляция
- 13 nanoCAD BIM ВК
- 3 nanoCAD BIM Отопление
- 8 nanoCAD BIM СКС
- 59 nanoCAD BIM ОПС
- 3 nanoCAD Стройплощадка
- 4 nanoCAD Металлоконструкции
- 2 nanoCAD Конструкции PS
- 8 TDMS Фарватер
- 1 Облака точек
- nanoCAD GeoSeries
- NSR Specification
- Учебным заведениям и учащимся
- 8 nano360