| Цитата |
|---|
| MultiZeus написал: а то старички стали переживать! |
Тимофеев , извините за наезд! Зачеркнул там в #54.
Изменено: - 13.12.2025 02:29:37
|
12.12.2025 22:40:14
Ваш код я не смотрел. Обычно при таких больших временах оптимизация кода должна дать значительное ускорение. Чаще всего тормозят циклы по ячейкам, или другие многократные взаимодействия между VBA и объектами Excel. Метод - один раз считать в массив(ы) значений диапазонов, обработать массив(ы) в VBA и присвоить результирующему диапазону массив результатов. Это на всякий случай. Наверное, Вы это всё знаете и используете (код я не открывал) |
|||
|
|
|
|
12.12.2025 20:35:27
Alex , сделайте доверенным источником папку, откуда загружается книга с макросами.
Перезагрузите Excel и проверьте. У Вас много кода, может помочь. Если поможет - поясню. |
|
|
|
|
|
12.12.2025 20:17:25
Тимофеев Добрый вечер, Григорий.
Вы бы сообщали вначале, кому Вы отвечаете и что и зачем публикуете. Комментарии там похожи очень на то, что было по ссылкам ИИ тренируют на кодах из GitHub и др. мест, и при определенных запросах вполне может вытащить коммерческий код.[/S] 1. Публиковать это незаконно и противоречит правилам форума. 2. Если это ответ автору темы про "купить для изучения", то там не шла речь о публичном обсуждении коммерческого кода, а если бы шла, то см. пункт 1 выше. 3. Не понятно, зачем публиковать на форуме не протестированный Вами код? ИИ, когда сочиняет, то Возможно, что красть ИИ может лучше, чем сочинять на основе других кодов.
Изменено: - 13.12.2025 02:36:28
|
|
|
|
|
|
11.12.2025 02:48:54
Senaki, для меня Excel и VBA всегда были только хобби, работа другая.
Чьи-либо оценки мне не важны, цели 9 лет подтверждать статус MVP Microsoft и получить статус MVP MrExcel тоже никогда не ставил – все само собой. Этот форум не для выпендрежа, цель его - именно помогать людям, они важнее даже тех, кто им помогает. Какому числу примерно пользователей Вы помогли своими наработками у себя на сайте или где-либо? Сравните с отдачей того же Дмитрия здесь, плюс у него на форуме плюс его надстройки и решения. Оценки форума именно такие, учитывайте это. Но цель у Вас явно иная, почему же Вы тогда здесь? Реклама, поиск соучастников или что? Тем более, что здесь как иронично отмечено, "разработчиков и нет". Где же тогда логика? Насчет отмеченных Вами тем – мне не интересно участвовать там, где для меня нет новизны. Я всегда сам себе выбираю темы для участия, если мне там что-то интересно или новое, и есть свободное время и/или просто есть настроение. Тему загрузки файлов с перенаправлением в другой экземпляр на MrExcel обсуждали лет 10 назад. Вы, действительно, что ли считаете, что там что-то особенное? Мне не нужен чужой код или видео для этого, достаточно знаний. В каком-то древнем KB от Microsoft вообще было предложено создать с утечкой памяти для подобных целей скрытый экземпляр Excel, чтобы осложнить его активацию и штатное закрытие. Но это так, про "уникальность" подхода. Работает всё там у Вас и хорошо, документировано – замечательно! Публикую я не всё, что знаю или нарыл когда-то самостоятельно. Если интересно, мои сообщения на форумах можете посмотреть в профиле ZVI. Конечно, кроме тех, что канули в лету на старых форумах. Насчет групповой политики безопасности - VBA тоже может быть запрещен политикой и даже не установлен. Не хватает реально полезной конкретной тестовой задачи, о которой тут уже спрашивали, а не просто идеи. И достигнутых результатов по быстродействию в сравнении с VBA-решением или С/С++ решениями Виталия (Bedvit). В любом случае, искренне желаю удачи!
Изменено: - 11.12.2025 02:51:14
|
|
|
|
|
|
06.06.2025 13:46:57
В новых операционных системах на работу MSXML2.XMLHTTP версии 6.0 могут влиять настройки безопасности браузера (см. панель управления).
Поэтому: 1) Можно попытаться в Панель управления - Свойства браузера – Безопасность – Надежные сайты – Сайты - добавить этот сайт 2) Использовать через VBE-Tools-Reference MSXML2.XMLHTTP версии 3.0 , вроде, это хорошо работает и в Excel 365. Может, и п.1 тогда не понадобится 3) В коде в начале чистить кэш браузера, чтобы данные читались с сайта, а не из локального кэша. Если поможет, то лучше потом поставить очистку кэша только этого сайта (быстрее, нет перерисовки экрана) Приложил тестовый вариант с п.п. 2 и 3 Проверьте все варианты, вдруг, заработает. Повторю еще раз, что у меня и без этих пунктов всё работает нормально в Win10, Excel 2010 (x32) и в Excel 2021 (x64)
Изменено: - 06.06.2025 13:47:32
|
|
|
|
|
|
06.06.2025 07:44:31
Добавьте путь к папке с книгой в надежные расположения: Файл - Параметры - Центр управления безопасностью - Параметры центра управления безопасностью - Надежные расположения - Добавить новое расположение - Ok -Ok - Ok И перезагрузить книгу.
Изменено: - 06.06.2025 07:56:24
|
|||
|
|
|
|
05.06.2025 23:04:16
Чтобы не зависеть от версий:
Table.htm можно загрузить в PQ или в Excel непосредственно через Файл-Открыть...
Изменено: - 06.06.2025 04:35:02
|
|||
|
|
|
|
15.05.2025 13:50:18
Вообще, к Like претензии вижу впервые. Работает в соответствии с описанием и очень быстро. А все вольности этого оператора при некорректно заданных шаблонах ему прощаю – неизвестно какими мы сами будем в пограничном состоянии |
|||
|
|
|
|
15.05.2025 01:39:13
Добрый день, Виталий!
Не понятна цель вопроса об особенностях реализации в MS исходного кода оператора Like, которого никто здесь не видел и не увидит. Разве что, интересны наши фантазии на этот счет Есть составления шаблонов для оператора Like, по ним нужно и писать код. При несоблюдении этих правил VBA имеет право поступить так, как сработает внутренний код, вернув то, что получится: True/False/Error В шаблоне "[1-4-6]" повторный символ "-" не на месте, т.к. это не символ диапазона (синтаксис нарушен) и он ни в начале списка, ни в конце, где ему положено быть по правилам. VBA при этом на ошибку не наткнулся, а посчитал шаблон "[1-4-6]" как: символ в диапазоне "[1-4]" ИЛИ символ "-" ИЛИ символ "6" И в простом шаблоне "[F-F]" VBA, так и быть, посчитал некорректно заданный диапазон отсортированным по возрастанию. Но в более сложном fuzzy-шаблоне "*[F-F]" тот же диапазон "[F-F]", чтобы не создавать неопределенности, мог посчитатьcя некорректным, например, возможно отсортированным по убыванию, это означает ошибку. Или код в таком случае мог использовать "жадный" поиск и тупо откусить первый символ в шаблоне (поэтому и True в строке 3), или вообще что угодно. Пофантазировал, и что теперь?
Изменено: - 15.05.2025 09:27:44
|
|
|
|
|
|
27.04.2025 08:15:10
Вот это новость, благодарю! |
|||
|
|
|
|
27.04.2025 03:03:24
Внешняя программа, которая вносит "ЗАКЛЮЧЕНИЕ", похоже, добавляет перед этим словом XML-атрибут "<w:caps/>" (слово:заглавными), что и приводит к CAPS-отображение слова. Возможно, данный атрибут попал туда и по какой-то иной природе. В document.xml таких атрибута 2. Если удалить 2-й или оба, то все приходит в норму. В кривом документе если (например, вручную) установить в параметрах поиска 'не учитывать регистр', то поиск выделит "ЗАКЛЮЧЕНИЕ", но в результате поиска отобразится "Заключение": Можно посмотреть даже проще: вручную выделить слово "ЗАКЛЮЧЕНИЕ" и правым кликом выбрать "Ссылка" - в верхнем поле отобразится текст "Заключение":
Изменено: - 27.04.2025 03:04:32
|
|||
|
|
|
|
26.04.2025 19:30:23
- в каком конкретно примере? - куда и что (было-стало) конкретно ввести в ручную? - откуда и как получен XML? - "Маску если заменить на <Заключение>, все работает" - с острыми скобками <> или без? Там упоминалась внешняя программа, она вполне могла влезть в XML. Был бы конкретный пример, воспроизводящий проблему без всего лишнего, то было бы понятнее
Изменено: - 26.04.2025 19:39:19
|
|||
|
|
|
|
26.04.2025 19:12:41
Специально так сделал, потому что это значительно быстрее. По Word-овски - медленная возня с word-объектами диапазонов, учитывая еще и атрибуты/форматы для поиска.
Учитывать их без нормальных регулярок - это, наверное, только перебор параграфов... Хотя, конечно, можно быстро распарсить XML, но это как-то не по VBA-ному
Изменено: - 26.04.2025 19:19:28
|
|||||
|
|
|
|
26.04.2025 18:51:56
Правильно сформулированная задача = полрешения:
В активном Word-документе требуется найти ключевые слова 1 и 2. И выделить+скопировать диапазон после параграфа со словом1 и до параграфа со словом 2, исключая в конце пустые параграфы и параграфы, содержащие только пробелы.
Изменено: - 26.04.2025 22:14:52
|
|
|
|
|
|
22.04.2025 15:55:13
|
|||
|
|
|