Excel таблица в чертеже

Автор Тема: Excel таблица в чертеже  (Прочитано 18897 раз)

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

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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #15 : 20-05-2016, 13:38:39 »
Да, реализация через удаление - это самый надежный метод, но и у него есть минус: в новой таблице ширина колонок слетает...

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Excel таблица в чертеже
« Ответ #16 : 20-05-2016, 13:44:18 »
: в новой таблице ширина колонок слетает...
А на таблицы чертежные стили не распространяются?

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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #17 : 20-05-2016, 13:54:32 »
: в новой таблице ширина колонок слетает...
А на таблицы чертежные стили не распространяются?
Ну не будешь же под каждую таблицу свой стиль создавать - ИМХО
Но в целом, вопрос решаемый - добавляется два цикла: считывание массива ширин колонок в старой таблице(до удаления) и возврат данных из массива в новую таблицу:
Код - vb.net [Выбрать]
  1. For i2 = 1 To oCTable.Columns.Count
  2.     oCTable.Columns.Item(i2).Width = oWidth(i2)
  3. Next

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Excel таблица в чертеже
« Ответ #18 : 20-05-2016, 14:13:01 »
Но в целом, вопрос решаемый - добавляется два цикла: считывание массива ширин колонок в старой таблице(до удаления) и возврат данных из массива в новую таблицу:
Зачем два цикла если достаточно одного: цикл по колонкам старой таблицы и сразу присвоение ширин колонкам новой таблицы? И только после этого старая таблица удаляется. Конечно это справедливо только для случая, когда количество колонок в таблицах совпадает.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #19 : 20-05-2016, 14:52:58 »
Новая таблица получается методом копирования файла старой таблицы - поэтому количество колонок одинаково всегда.
Да, старую таблицу можно у далить и после вставки новой.

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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #20 : 29-03-2021, 08:35:08 »
For i2 = 1 To oCTable.Columns.Count
    oCTable.Columns.Item(i2).Width = oWidth(i2)
Next
Что-то я не понимаю: Width  похоже только для чтения?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Excel таблица в чертеже
« Ответ #21 : 29-03-2021, 10:10:33 »
это вопрос по экселю? или по инвенторовской таблице?

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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #22 : 30-03-2021, 07:56:31 »
это вопрос по экселю? или по инвенторовской таблице?
Это по экселевской таблице в инвенторе - CustomTables

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Excel таблица в чертеже
« Ответ #23 : 30-03-2021, 11:26:58 »
в инвенторе - CustomTables
Судя по описанию Column.Width в кастом тэйбл должно редактироватьсяъ
Может тебе документ.апдейт вызвать?


Column.Width Property

Parent Object: Column

Description

Specifies the width of the column.

Syntax
Column.Width() As Double
Property Value
This is a read/write property whose value is a Double.


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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #24 : 30-03-2021, 12:04:43 »
Пробовал Дабл



Еще пробовал Integer - пишет про тоже Int32...

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Excel таблица в чертеже
« Ответ #25 : 30-03-2021, 20:00:16 »
запусти, это у меня сработало
Код - Visual Basic [Выбрать]
  1. Sub ff()
  2. Dim oDrw As DrawingDocument: Set oDrw = ThisApplication.ActiveDocument
  3. Dim ff As CustomTable: Set ff = oDrw.ActiveSheet.CustomTables(1)
  4. ff.Columns(1).Width = (10)
  5. End Sub
  6.  
Почему твое не срабатывает трудно сказать

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Excel таблица в чертеже
« Ответ #26 : 30-03-2021, 20:04:30 »
Почему твое не срабатывает трудно сказать
Мне почему-то кажется, что ошибка в коде filat не на строке
Код - Visual Basic [Выбрать]
  1. oCTable.Columns.Item(1).Width = oWidth
а где-то раньше.
Или вместо этой строки должно быть (т.е. Item не нужно):
Код - Visual Basic [Выбрать]
  1. oCTable.Columns(1).Width = oWidth
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн R.I.Chernov

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: Excel таблица в чертеже
« Ответ #27 : 31-03-2021, 02:39:52 »
В C# ширина столбца задается так:

Код - C# [Выбрать]
  1. customTable.Columns[1].Width = 55;
, где customTable - ссылка на таблицу.

oCTable.Columns.Item(1).Width = oWidth

Так что по идее должно работать
В программировании я новичок...но ненадолго! ;)

Оффлайн R.I.Chernov

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: Excel таблица в чертеже
« Ответ #28 : 31-03-2021, 02:43:10 »
Глупость коненчо, но может стоит попробовать ширину задавать интом, а не даблом? Или, наоборот, присвоить oWidth = 6.0
В программировании я новичок...но ненадолго! ;)

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

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Re: Excel таблица в чертеже
« Ответ #29 : 31-03-2021, 07:24:11 »
Ребята, вот у вас работает изменение ширины таблицы - это именно таблица эксель вставленная в чертеж? в каких АИ проведен опыт?

ff.Columns(1).Width = (10)
для чего установлены скобки вокруг числа?

чуть позже выложу файлы моего примера - может в файле что не так...