Еще раз прошу прощения, просто как то, в одном из обсуждений меня немного упрекнули на некоторую как выразились "многобуквенность", вот я постарался, в меру своих возможностей, написать лапидарно
Сохранение значения UDF
Сохранение значения UDF
Присвоение уникального значения, Нужна формула для присвоение уникального значения
Присвоение уникального значения, Нужна формула для присвоение уникального значения
Сохранение значения UDF
Присвоение уникального значения, Нужна формула для присвоение уникального значения
Сохранение значения UDF
Пакетная отправка файлов через CDO
|
17.02.2025 12:07:42
Вроде бы разобрался, еще раз перепроверив исходный образец кода отправки. Код теперь выглядит так:
|
|||
|
|
|
Пакетная отправка файлов через CDO
Пакетная отправка файлов через CDO
|
16.02.2025 20:27:44
Доброго времени суток, уважаемые форумчане. Я уже поднимал тему отправки файлов через CDO на нашем форуме, но вопрос возник снова. Итак, в функцию отправки письма передается словарь, ключом которого является адрес, а итемом - массив наименований документов к тому времени уже созданных. Словарь (для примера конечно) наполняется так:
Заранее спасибо всем откликнувшимся. |
|||||||
|
|
|
Функция пользователя: ввод параметров
Функция пользователя: ввод параметров
|
12.02.2025 12:03:06
|
|||
|
|
|
Функция пользователя: ввод параметров
|
11.02.2025 17:54:45
, МатросНаЗебре, спасибо за ответы. Буду думать
P.S. прочитал статью Дмитрия, подумал, многое стало понятнее. НО можно еще немного обнаглеть и узнать еще одну вещь? Сейчас в моей ф-и это не слишком важно, но вдруг возможна иная ситуация в будущем
Изменено: - 11.02.2025 18:40:34
|
|
|
|
|
Функция пользователя: ввод параметров
Функция пользователя: ввод параметров
|
11.02.2025 15:30:46
Наберусь смелости и возражу уважаемому . Возможно я недостаточно понятно обрисовал проблему, попробую еще раз. Измененный вариант функции правильно вызывается и отрабатывается кодом VBA, а вот как измененную ф-ю вызвать с листа неясно. Если указать в качестве аргументов диапазоны или даже диапазон (как в примере =DeclensionFIO_Arr(2;F1)), то я смогу наверное данные для ф-ии изменить на Split(SNP(0).Formula)(0), но ведь тогда данные не подойдут для варианта, вызываемого кодом, там у SNP(0) вообще нет свойства .Formula, а есть только значения. Получается, что не получится иметь вариант работающий как из-под кода так и с листа?
|
|
|
|
|
Функция пользователя: ввод параметров
|
11.02.2025 13:58:52
Ну нельзя так, как мне захотелось, значит нельзя. Но позвольте еще один вопрос по этой функции. Чтобы вызвать ее с листа необходимо указать помимо номера падежа еще и отдельные ячейки с фамилией, именем и отчеством. Если эти данные будут в одной ячейке, то результат будет частично или полностью неверен. Если вызывать функцию кодом, то приходится сооружать примерно такую конструкцию:
|
|||||||
|
|
|
Функция пользователя: ввод параметров
|
11.02.2025 07:03:01
|
|||
|
|
|
Функция пользователя: ввод параметров
Функция пользователя: ввод параметров
|
10.02.2025 20:12:22
Здравствуйте, . Задача следующая: нашел на просторах сети функцию склонения ФИО в родительном падеже, решил "допилить" для остальных падежей, ну и модифицировать код на более понятный и компактный с моей точки зрения. Могу выложить свое творение, если кому-то интересно, не жалко ни разу. А по поводу другой функции, это как должно выглядеть? Типа переменная tmp задается отдельной функцией, на 2 этапе (склонение имени) меняется значение i и вновь вызывается расчет tmp. Так примерно?
|
|
|
|
|
Функция пользователя: ввод параметров
|
10.02.2025 19:54:00
Доброго времени суток, уважаемые форумчане. Пытаюсь "допилить" под себя функцию пользователя, найденную на просторах сети и вот вылезли небольшие вопросы. Скажу сразу, код работает, но хотелось бы узнать можно ли написать по-иному, с моей точки зрения красивее и правильнее. Итак, огрызок функции (в ячейке В1):
имеем переменную tmp, которая принимает значение в зависимости от значения i. Используем эту переменную, далее меняем значение i, и хотелось бы, чтобы значение переменной изменилось бы при расчете склонения имени само, без дополнительной команды. Возможно ли это? Сейчас, разумеется, значение tmp просто перезаписывается отдельно. Заранее спасибо всем откликнувшимся |
|||
|
|
|
Текст между скобок регулярными выражениями
Текст между скобок регулярными выражениями
|
20.11.2024 19:19:20
Спасибо, за ответ. Единственно, как мне показалось, вместо iResult = "" будет правильным написать iResult = cell. Но позвольте все-таки уточнить, ведь это новая функция, а для прежнего варианта из мо\его примера:
|
|||
|
|
|
Текст между скобок регулярными выражениями
|
20.11.2024 18:22:22
, наверное я плохо пояснил. Ваш вариант подходит за одним исключением (сейчас еще раз проверил): для "первого" варианта ответом будет 123, а не 999. Это можно подправить? Про пустую ячейку я зря наверное упомянул. В реальном файле это должно выглядеть приблизительно так:
|
|||
|
|
|
Текст между скобок регулярными выражениями
|
20.11.2024 17:17:15
, спасибо за отклик, но позвольте уточнить. Логический оператор | у вас используется как раз для 2-х вариантов данных (со скобками и без), правильно? В результате, при его применении для "чистого" варианта все ОК, а вот для варианта со скобками результатом будет число ДО скобок, а если указать item=2, то во-первых 999 отображается со скобками (это я бы смог скорректировать), а во-вторых для "чистого" варианта ответом становится пустая ячейка. Можно ли это исправить?
|
|||
|
|
|
Текст между скобок регулярными выражениями
|
20.11.2024 14:17:11
Доброго времени суток, уважаемые форумчане. Никак не могу разобраться с особенностями синтаксиса регуляров и поэтому вновь обращаюсь в вам за помощью в решении задачи. Итак, ситуация по идее простая: имеется текст типа 123(999), требуется извлечь данные, находящиеся между скобок, т.е. 999. Сделать это обязательно регулярами (причина требования к вопросу не относится). Казалось бы, чего сложного, паттерн "\d+" и второй item и все ОК, но нет. Дело в том, что скобок в данных может и не быть, будет любое число, а в таком случае RegExpExtract выдаст ошибку #ЗНАЧ! Любые проверки на наличие скобок, не то чтобы запрещены, но в таком случае ни о каком сокращении объема кода речь не идет, а именно это и является задачей. Итак, можно ли решить данный вопрос, т.е. извлечь одним регулярным выражением нужный текст (из ячеек А1 и В1 прилагаемого файла) и, если да, то как?
P.S. Заранее спасибо всем откликнувшимся
Изменено: - 20.11.2024 14:30:33
|
|
|
|
|
Pattern для регулярного выражения
|
08.10.2024 06:32:06
Спасибо, у меня получилось похоже:
|
|||
|
|
|
Доступ к item-ам регулярного выражения
|
07.10.2024 20:15:23
Спасибо за беседу, . Немного неудобно бывает, когда люди предполагают, что задача, выложенная тобой на форуме глобальна важна, поясняют за то, что регулярные выражения в VBA обрезаны по могуществу и пр., а в твоей ситуации есть просто одиночный файл код для которого, тобою же написанный, и ты просто пытаешься (чисто для себя!), переписать код, оптимизировав в своем понимании этого процесса. У меня, по крайней мере сейчас, это именно так. Просто по ходу этой "оптимизации" (пишу в кавычках, т.к. возможно это с точки зрения профи - кривизна несусветная) возникла ситуация, решить которую мне показалось возможным, правильным и "красивым" именно с помощью регулярки. Что касается вопроса из этой темы, то я и сам уже кажется понял, что он не имеет решения в таком виде. Через цикл получить необходимые для меня данные я понял как, но циклом я ранее мог это сделать, не привлекая регулярку (например For i = 0 To UBound(Split(temp, ":"))), где temp - это строка с искомыми данными. Ладно, фиг с этим вопросом
|
|||
|
|
|
Доступ к item-ам регулярного выражения
|
07.10.2024 18:10:19
|
|||
|
|
|
Pattern для регулярного выражения
Доступ к item-ам регулярного выражения
|
07.10.2024 17:37:43
Доброго времени суток, уважаемые форумчане. В предыдущей теме, поднятой мною на форуме: вопрос, как мне хотелось решить не удалось. Но возникла мысль по другому варианту его решения
FirstIndex мы можем получить данные о расположении паттерна (в примере 11 и 25). Теперь вопрос: можно ли и как, если можно, получить информацию о FirstIndex для всех item, сколько бы их не было (много их не будет, но 10-20 может быть), типа как в словаре обращаемся к dicData.items? По задумке, если вышенаписанное реально, то найдя в строке положение нужного мне блока символов (в примере ":5; (такой вариант будет уникальным)) я бы мог найти это значение в "коллекции значений" FirstIndex и узнать (тоже правда пока не знаю как) номер итема для этого значения и задача для меня решится. Заранее спасибо всем откликнувшимся, а если кто нибудь, прочитав предыдущую тему, предложит решение там ,то размер моего спасибо будет не меньшим
Изменено: - 07.10.2024 17:41:05
(орфографическая ошибка)
|
|||
|
|
|