А вот где можно найти ссылку на файл Excel?Ну филат смотрим в
И можно ли средствами API выполнить замену этой ссылки?Не получится, можно только удалить старую таблицу и воткнуть новую:
Ну филат смотрим в
Document.ReferencedOLEFileDescriptors(1)
Удобнее использовать ReferencedOLEFileDescriptors.ItemByName().У филата понятие "удобство при программировании" весьма своеобразное :)
или по локальнееЯ нашёл у CustomTable свойство ReferencedDocumentDescriptor, но не нашёл ReferencedOLEFileDescriptors. Это у тебя опечатка или я не туда смотрел?
Document.ActiveSheet.CustomTables(1).ReferencedOLEFileDescriptors
там все твои ссылки на посторонние файлы
Это у тебя опечатка или я не туда смотрел?Да я лепил ответ по хелпу уже ночью, видимо опечатался,
Но для меня остается проблемой получения адреса таблицы, при отсутствии OLE - ссылки!?Что возвращает ReferencedDocumentDescriptor для CustomTable такой таблицы?
: в новой таблице ширина колонок слетает...А на таблицы чертежные стили не распространяются?
Ну не будешь же под каждую таблицу свой стиль создавать - ИМХО: в новой таблице ширина колонок слетает...А на таблицы чертежные стили не распространяются?
Но в целом, вопрос решаемый - добавляется два цикла: считывание массива ширин колонок в старой таблице(до удаления) и возврат данных из массива в новую таблицу:Зачем два цикла если достаточно одного: цикл по колонкам старой таблицы и сразу присвоение ширин колонкам новой таблицы? И только после этого старая таблица удаляется. Конечно это справедливо только для случая, когда количество колонок в таблицах совпадает.
For i2 = 1 To oCTable.Columns.CountЧто-то я не понимаю: Width похоже только для чтения?
oCTable.Columns.Item(i2).Width = oWidth(i2)
Next
это вопрос по экселю? или по инвенторовской таблице?Это по экселевской таблице в инвенторе - CustomTables
в инвенторе - CustomTablesСудя по описанию Column.Width в кастом тэйбл должно редактироватьсяъ
Почему твое не срабатывает трудно сказатьМне почему-то кажется, что ошибка в коде filat не на строке
oCTable.Columns.Item(1).Width = oWidth
ff.Columns(1).Width = (10)для чего установлены скобки вокруг числа?
ой, я не могу, Влад, ты что экселевскую таблицу оле-объектом чтоль вставил на чертеж и пытаешься редактировать?:o ну так тема вообще-то про это вся... Точнее началом было восстановление слетевшей ссылки...
Не там как то не так должно быть, ты должен ссылку на книгу экселя получить, а там уже через АПИ экселя что то менять. Сам то инвентор не умеет с АПИ экселя работать.Не уверен в полной правильности этого утверждения: если изменить текст в файле экселя, то изменения отображаются в файле АИ, а если изменить ширину колонки в эксель - то для файла АИ ничего не меняется.
Ну вот предыдущий макрос меняет ширину столбцаВот то-то и оно - я макрос сразу опробовал - видимо функционирование зависит от версии АИ