Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Речь идёт об Excel и FPD 2.6
Рано или поздно это должно было случиться... Если с макросами Word дело обстоит более или менее неплохо, то вот в Excele даже простейшие операции вызывают затруднения. Возьмём простой случай, что называется. Есть книга Excel. Пусть (для простоты примера) в ней есть название отчёта в первой строке. Первая часть названия постоянная, неизменная. Ну, допустим, такое название "Отчёт по товарам". Далее должно прописываться наименование товара. Наименование товара есть в dbf-таблице, открытой экселем при запуске самого экселя. Допустим, была такая команда для запуска: RUN start excel book1.xls tovar1.dbf Дак вот. Надо при помощи макроса в tovar1.dbf выделить текст (нет, не ячейку, не строку, не столбец, а именно текст!) из второй строки и первого столбца, и после этого дописать выделенный текст в загодовок отчёта в book1.xls. Проблема ещё в том, что заголовок содержится не просто в ячейке, а в объединённой ячейке, поскольку после заголовка отчёта идёт обычная экселевская бодяга с десятком столбцов и парой сотен строк. Включаем запись макроса. В принципе, макрос записывается. Но! Когда я выделяю текст из tovar1.dbf по нажатию <Shift-end> и копирую выделенный текст (такое выделение можно сделать в области редактирования текста ячейки в верхней части экрана), то макрос запоминает конкретный выделенный текст, а не команду "выделить весь текст в ячейке". Копировать же ячейку (не выделяя текста) не получается. Поскольку заголовок отчёта состоит из объединённых ячеек, копирование ячейки из другого листа приводит к тому, что текст вставляется в каждую из ячеек. То есть в данном случае имеем в названии отчёта 10 раз название товара. Если же говорить "вообще", что надо сделать. Есть сводная итоговая и довольно примитивная по структуре выходная форма. Получить при помощи обработки данных корректные значения - задача весьма нетривиальная. И речь идёт не о торговле, конечно. И вот все значения подсчитаны "как надо". Остаётся только заполнить лист Excel готовыми значениями. В VFP это, конечно, тривиально. А вот в FPD непросто. Дак вот. Эту форму я разложил на 4 части. Каждая часть содержится в dbf-таблице. Таблицы я формирую сам по своему усмотрению - средствами FPD. Потом собираюсь запустить Excel и открыть при запуске заготовку Excel-файла (типа исходного шаблона) и ещё открыть 4 dbf-файла. Могу и dbf сохранять в формате Excel II есличо. Далее при помощи макроса заполнить исходный шаблон, после чего закрыть "лишние таблицы", сохранив сформированный шаблон. Но вот на первом же этапе и остановился. Непонятно, как при помощи макроса дополнять одни ячейки из других ячеек. В инете примеры читал. Но как-то не удалось ими воспользоваться. Может быть, у кого-то есть опыт работы с макросами Excel? Или вообще существует другой способ получения таблицы Excel в нужном виде? Вычислять или складывать, кстати, ничего не надо. Всё уже сложено и вычислено. Надо только заполнить лист Excel. Исправлено 3 раз(а). Последнее : Simple777, 23.04.22 08:29 |
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Вроде бы дело стронулось с мёртвой точки. По крайней мере название отчёта макрос уже меняет. Остальное "по идее" должно быть полегче, поскольку больше не будет объединённых ячеек. А если и будут, то уже знаю, как с этим бороться.
|
Re: Работа с макросами Excel | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
В общем-то, не единожды упоминавшаяся в некоторых кругах либа по созданию Excel файлов без самого Excel на фоксе, только на фоксе и ни на чём кроме фокса. Да, там используются фички, которых нет в FPD. Но вспомнив историю появления этих фичек можно быстро догадаться как они были реализованы в FPD. Для чего внимательно посмотреть на fpath.plb, которую я видел даже в виде fpath.prg, но найти ее в таком виде сейчас уже непросто.
------------------ Лень - это неосознанная мудрость. |
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Управился со средней, основной частью.
Оказалось, что совсем непросто перейти на следующую после последней заполненной строку. Пришлось в dbf добавлять в конце пустую запись. Иначе перейти через команды макроса не получилось. Занятная эта работа - отлаживать макросы. |
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Люди готовы на очень многое, лишь бы не учиться.
Исправлено 1 раз(а). Последнее : medstrax, 23.04.22 16:58 |
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Народная мудрость гласит, что надо один век жить, а уже второй - учиться.
|
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
А еще есть "мудрость не всегда приходит с возрастом, чаще возраст приходит один"
|
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
А ещё - "возраст - ещё не подвиг".
Тем не менее, за полтора дня закончил эту шнягу. Получился макрос около 500 строк. Вероятно, можно было где-то и покомпактнее сделать, но было немало "тёмных мест". Например, иногда не отрабатывал перенос слов в ячейке в несколько строк. Приходилось явно указывать высоту строки. И таких вот "мелких пакостей" было предостаточно. Но в итоге была получена форма фактически 1:1 И даже несколько компактнее оригинала. Такшта в принципе макросами можно сделать многое. Исправлено 2 раз(а). Последнее : Simple777, 24.04.22 15:23 |
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
А еще головой можно гвозди забивать.
|
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Можно. Разновидность BDSM, есличо. На любителя, конечно.
Вопрос частично по теме. dbf-таблицы Excel в принципе хавает. Проверял на 2010. Более старшей версии нет под рукой. Подумалось, что в FPD можно в принципе сформировать xls второй версии. Но ежели просто скопировать, то Excel показывает кракозябры. Если же сделать преобразование символьных полей в таблицу 1251 и потом скопировать в формат xls, то всё равно открываются кракозябры. Нипанятна, какую кодовую таблицу надо подсунуть экселю, чтобы он прочитал таблицу корректно. И вааще, может быть эксели всех версий могут открывать dbf-таблицы (в кодовой таблице 866) для чтения? Кто-нибудь проверял? Исправлено 1 раз(а). Последнее : Simple777, 24.04.22 17:20 |
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Тута пишут, что все версии, вплоть до 2021, могут открывать dbf-файлы
Цитата: support.microsoft.com Исправлено 2 раз(а). Последнее : Simple777, 24.04.22 17:26 |
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Вот интересно. Когда клиент поставит задачу, которую на фпд не решить в принципе (даже с помощью МАКРОСОВ),
тов.Симпле 1. Будет осваивать новые инструменты 2. Докажет клиенту, что ему (клиенту) эта задача совсем не нужна 3. Распрощается с таким клиентом 4. Что-то иное ? |
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Встречный вопрос.
Когда клиент (к примеру, CIA) поставит задачу, которую medstrax не сможет решить в принципе, то medstrax 1. Будет осваивать новые инструменты 2. Докажет клиенту, что ему (клиенту) эта задача совсем не нужна 3. Распрощается с таким клиентом 4. Что-то иное ? |
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
медстрах скажет, что он не может ее решить, хотя конечно попытается.
А ответ тов.Симпле хотелось бы услышать все же. Не надо прятаться за встречные вопросы. |
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
... скажет, что он не может ее решить, хотя конечно попытается.
|
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Но новые инструменты не будет изучать в любом случае?
|
Re: Работа с макросами Excel | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Тащемта medstrax должен быть в курсе, что существует специализация даже у домушников и медвежатников, и "заходы на чужую территорию" не приветствуются.
|
Re: Работа с макросами Excel | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Тут же просто бизнес, к чему прятаться за ненужными аналогиями.
Либо ты можешь выполнить задачу клиента, пусть с помощью тех инструментов, которыми пока не владеешь - либо эти деньги заработает кто-то другой. |
© 2000-2024 Fox Club  |