|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как работать с Excel из LISP
Москва
Регистрация: 01.09.2006
Сообщений: 12
|
||
Просмотров: 19235
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
http://dwg.ru/forum/viewtopic.php?t=7640
http://dwg.ru/forum/viewtopic.php?t=9420 http://dwg.ru/forum/viewtopic.php?t=4927
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
измени значения по ситуации: Код:
|
|||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Функция c:extest отрабатывает нормально если в столбике имеется разыскиваемое значение, в случае если такого значения не сущетвует то функция вылетает на строке
Код:
Код:
|
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Попробуй этот вариант, не смог только решить
для случая повторяющихся одинаковых значений Это должно работать в случае уникального значения в искомом диапазоне Тестировал в A2007eng/MS Office 2003eng/Win XP HE Код:
|
|||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Цитата:
а в этой функции перенести переменные hgt sheetName sheetName iCol iRow в аргументы, новая функция будет запускать FINDEX и после получения результата, добавлять к возвращенному значению колонки единицу и запускать функцию FINDEX с новыми параметрами границ колонки. |
|||
![]() |
|
||||
Регистрация: 26.12.2013
Сообщений: 283
|
Привет.
Можно код с комментариями? Не смог разобраться, что для чего. Моя задача: а) сущ экселька (шаблон) - остается вбить данные б) нет эксельки - создать и в фоне(без открытия эксельки) записать данные в нужный лист и ячейку. Литературу работы с экселькой я не нашел. На примерах практически не разобраться т.к. задачи разные. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А по дампу объекта оно вообще видно?
----- добавлено через 49 сек. ----- И что вернет (vlax-get-property xlaapp 'enablevents) ?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 04.10.2022
Сообщений: 16
|
Показывает "nil". Я подумал, что ошибка в записи, а получается, что не ко всем свойствам можно обращаться?
Смотреть дамп я не знаю как ![]() С ходу также не получается переименовать Workbooks в Excel, может есть пример? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
(vlax-dump-object obj t)
Сейчас нет машины, где есть и ACAD, и Excel, так что помочь мало чем могу. ЕМНИП, Workbooks - это коллекция открытых книг. Ее переименовывать - это как? Какую-то книгу переименовать, наверное, и можно - при сохранении. Но не "на лету". Могу ошибаться
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А у объекта листа вообще есть метод Copy (ну или что-то подобное)? И что говорит справка самого Excel по этому поводу?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Лист копируется. Просто в другой документ.
А как выполнить копирование внутри книги - не знаю ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Здесь GetExcel.lsp есть библиотечные функции по работе с excell. Может что подберешь
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 04.10.2022
Сообщений: 16
|
Цитата:
Но вот теперь надо определенный лист сделать первым в книге ![]() Функция работает создавая при этом другой документ ![]() Много перерыл примеров, но вот именно про работу с листами нет толком ни чего. Какие мысли есть? |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
т.е. из 4 поста ветки не работает?
|
|||
![]() |
|
||||
Регистрация: 04.10.2022
Сообщений: 16
|
Цитата:
А может быть это из-за того, что файл не сохранен? я его создаю и работаю с ним в памяти. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 04.10.2022
Сообщений: 16
|
Попробовал и с сохраненным файлом, нет не работает, не перемещает
![]() При COPY, копирует опять же в отлельное окно... ----- добавлено через ~4 ч. ----- Цитата:
![]() Новое окно появляется когда метод move или copy срабатывает с не указанным (или не правильно указанным) листом, просто создает другое окно и все. Пример указтеля: (setq sht (vlax-get-property sheets 'Item 3)), при этом 'Item 3 - 3 лист книги Команда (vlax-invoke-method new_sheet 'Move sht) ставит лист new_sheet перед 3 листом Последний раз редактировалось pad, 08.12.2022 в 10:49. |
|||
![]() |