Макрос - быстрый импорт/экспорт таблиц из приложений MS Office

Автор N1Tron1X, 28.01.20, 18:53:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

N1Tron1X

Удобных вариантов вставить таблицу из приложений MS OFfice в таблицу на чертеже в Компасе не нашлось. Единственный вариант на форуме обсуждался в этой теме. (метод описан ещё в 2010 году тут)

Алгоритм действий
MS Office --> Компас

0. В буфере обмена содержится таблица, скопированная из Word, Excel, etc.
1. На поле чертежа (или за его пределами - не принципиально) создаётся надпись
2. Вставляются данные из буфера обмена
3. Заходим в режим редактирования таблицы (не просто в надпись, а ещё уровнем ниже)
4. Выделяем все ячейки ранее вставленной таблицы (не таблицу целиком, а именно ячейки)
5. Копируем ячейки таблицы
6. Выходим из режима редактирования таблицы
7. Выходим из режима редактирования надписи
8. Удаляем надпись
9. Вставляем таблицу 1х1 (одна ячейка) в центре чертежа

  желательно добавить возможность управления размерами ячеек,
  тк все остальные ячейки будут иметь такой же размер, как и первая
  можно удобно реализовать через константы в самом начале кода


10. Вставляем данные из буфера обмена
11. Выделяем все ячейки получившейся таблицы
12. Присваиваем им стиль "Ячейка таблицы"

    изначально будет установлен стиль "Заголовок таблицы",
    поэтому требуется его корректировка


13. Выделить таблицу и активировать инструмент "Переместить по координатам" для окончательного позиционирования таблицы

На этом всё. Алгоритма обратного преобразования так подробно представить не могу, тк слабо представляю в каком виде находятся данные после копирования их из таблицы в Компасе. Буду рад, если кто-то в теме присоединится и распишет алгоритм аналогично. Пожелания и замечания к представленному выше алгоритму также принимаются.

Логика обратного Компас --> MS Office.
0. Имеется таблица Компас с данными
1. До/После активации макроса выделяем таблицу
2. Вход в режим редактирования таблицы
3. Выделение всех ячеек
4. Копирование их в буфер обмена
5. Приведение их к понятному для MS Office виду (??? слабо представляю, что требуется)
6. Копирование в буфер обмена итога предыдущей операции