Как получить список открытых *.xla файлов?
Application.Workbooks выдаёт только xls книги
Application.AddIns выдаёт только надстройки
Application.Workbooks выдаёт только xls книги
Application.AddIns выдаёт только надстройки
|
10.02.2026 10:01:59
можно ли как-то подменить иконки на панели быстрого доступа?
![]() может быть можно в какую dll залезть и подменить, чтобы в офисе были те иконки, которые более приятны глазу? ведь можно и патч сделать размером несколько КБ, который это сделает где хранятся эти иконки? их же можно заменить в hex редакторе без проблем
Изменено: - 10.02.2026 10:04:59
|
|
|
|
|
|
05.02.2026 10:55:19
есть один рабочий вариант, но он мигает (sub test1)
если несколько файлов обрабатывать, то забирается фокус на cmd окна, т.е. параллельно что-то делать невозможно два вопроса: 1. как сделать выполнение .StdOut.ReadAll в скрытом режиме? 2. либо как починить sub test3?
Изменено: - 05.02.2026 14:05:58
|
|||
|
|
|
|
14.01.2026 13:47:39
такой код выдает ошибку DateValue - Type Mismatch, хотя раньше вроде бы работал
появление ошибки зависит от настроек винды? или настроек экселя? как её чинить?
Изменено: - 14.01.2026 13:52:54
|
|||
|
|
|
|
17.12.2025 08:01:40
Вот несколько видео по нашей теме Вот код пятого видео
|
|||
|
|
|
|
20.02.2025 11:28:18
после установки x64 офиса - формулы полностью нагружают все 100% потоки процессора и справа снизу в строке состояния пишет количество нагруженных процессоров
но сам vba код работает только в однопоточном режиме, загружая процессор на 5-15% есть ли какие-то опции по включению всех потоков в vba? бывают ли вообще многопоточные компиляторы в программировании?
Изменено: - 20.02.2025 11:37:01
|
|
|
|
|
|
19.02.2025 07:48:27
![]() как объединить несколько ячеек в одну с сохранением всех цветов? кто-то прорабатывал такую процедуру? тут есть два момента: 1. обрабатывать нужно посимвольно, т.к. в исходных ячейках может быть несколько цветов текста внутри каждой ячейки, т.е. цвет текста нельзя считывать со всей ячейки 2. этот код имеет максимальную длину 255:
одно решение есть , но страдает от ошибки переполнения 255 и не учитывает разный цвет внутри исходных ячеек
ещё одно из решений есть , но страдает от ошибки переполнения 255 Сцепляет с сохранением форматирования выделенные строки и помещает результат справа от выделения. Ячейка куда записывается результат сначала затирается
пока что думаю алгоритм такой: v1 1. сначала выгрузить сырое сцепленное Value в результирующую ячейку 2. пройтись по исходным ячейкам и изменение цвета текста записать в словарь или коллекцию в виде [номер символа, индекс нового цвета] 3. покрасить итоговый сырой результат на основе этого словаря или коллекции 4. если нужно сохранить не только цвет, но и форматирование - то писать кодировку вида Font_Size_Bold_Underline_italic_Color, например Arial_12_NoBold_UL_Noit_FFFF00, хотя в данном случае возможно проще будет сделать на многомерном массиве, чтобы не сплитать и не расшифровывать эту кодовую строку форматирования v2 а можно так: 1. сцепить сырой текст из всех исходников в результат 2. покрасить текст функцией выше, заквотив в ней две строки - 1. предочистка результирующей ячейки и 2. посимвольное впечатывание символа в результирующую ячейку v2 успешно отрабатывает на длине более 255 таким образом можно переделать пару строк в ConcatenateWithFormat и получить процедуру, которая успешно отработает и на разных цветах и на длине более 255, вдобавок можно добавить кастомный сепаратор между значениями исходных ячеек и фильтр по ячейкам смежные темы:
Изменено: - 19.02.2025 09:42:04
|
|||||||
|
|
|
|
01.08.2024 04:09:30
Как открыть рабочий стол? (vba, winapi, win7)
по какому адресу он находится? в идеале бы получить CLSID в реестре прописан "Desktop" ::{00021400-0000-0000-C000-000000000046}, но он никуда не ведёт "file:///C:/Users/Admin/Desktop" открывает папку с рабочим столом (на картинке слева) а нужно именно виндовый рабочий стол с уникальной иконкой (на картинке справа) ![]()
Изменено: - 01.08.2024 04:24:11
|
|
|
|
|
|
05.12.2023 09:46:48
как автоматически проставить табуляцию или отступы в vba коде?
есть ли такая кнопка в самом VBA в экселе? если нету, то есть ли онлайн сервисы куда можно вставить сырой код и забрать код с отступами? есть такой код:
нужно сделать из него такой:
вручную в каждой строке Tab и Shift+Tab не предлагать
Изменено: - 05.12.2023 09:50:26
|
|||||
|
|
|
|
17.05.2023 06:37:19
загружаю файл в string
потом делю на массив строк обрабатываю каждую строку склеиваю txt = txt & s сохраняю через ADODB.Stream и вот именно на txt = txt & s идёт накопительная задержка если txt уже длинная (более 10000 строк), то к ней долго клеится новая строка а через FSO.OpenTextFile ForAppending сохранять неудобно, т.к. поддерживает очень мало кодировок вот таймер по каждому склеиванию + общая длина переменной txt: в последнем столбце видно как падает скорость склеивания симв/сек
вопрос: 1. есть ли у ADODB.Stream функция дозаписи в имеющийся файл? 2. если нету, то как правильно клеить длинные строки? проверять на длину txt и при превышении условных 200 000 использовать новую чистую string txt[2] txt[3] , а потом склеить txt[1] txt[2] txt[3] перед сохранением в файл ?
Изменено: - 17.05.2023 07:27:05
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
08.04.2022 08:21:17
Есть ли у Excel метод "прогресс" на панели задач, как у любого приложения?
Даже у видеоплеера есть, и он на иконке показывает сколько фильма прошло ![]() Класс WindowsFormsExtensions содержит два метода – SetTaskbarProgress и SetTaskbarProgressState. Вызов первого метода позволяет указать процент выполнения текущей задачи. Метод SetTaskbarProgressState позволяет задать текущее состояние прогресс-бара.
Что-то типа
Изменено: - 08.04.2022 08:22:32
|
|||||
|
|
|
|
28.03.2022 19:53:54
Как получить список окон проводника в том порядке, в котором они открыты на панели задач? (слева направо)
Или при наведении мышкой если много окон, то выскакивает список тоже с таким же порядком (сверху вниз) ![]() ShellWindows и дерево hwnd хоть и дают разные по сортировке списки, но ни в одном из них этот панель-задачный порядок не соблюдается. Пока удалось узнать только класс выпадающего списка из панели задач TaskListThumbnailWnd или может в другом месте в системе хранится этот порядок окон проводника, но где? Shell_TrayWnd - ReBarWindow32 - MSTaskSwWClass - MSTaskListWClass - где есть TaskBar API или объект "панель задач" ? есть ещё и четвёртая сортировка - ALT+Tab - TaskSwitcherWnd
Изменено: - 29.03.2022 12:52:17
|
|
|
|
|
|
28.03.2022 10:37:29
Снимаю параметры окон проводника:
из 30 окон - 25 нормальные, но 5 "застарелые" и выдают ShellWindows .Left = -32000 .Top = -32000, т.е. значение ненормальное После того, как вручную мышкой переключаюсь на окно и после этого беру значения заново - всё норм. Не знаю как "застареть" окно вручную, чтобы повторить такую ошибку, но пока что 5 застарелых окон есть Вопрос: Как через vba обновить или активировать окно проводника, чтобы снять правильные параметры? Пробовал это, но не помогло:
Изменено: - 28.03.2022 10:41:38
|
|||
|
|
|
|
26.03.2020 13:02:05
Помогите подправить код для того, чтобы он заработал в x64 офисе нужно изменить dwExtraInfo на LongPtr и подправить размерность GENERALINPUT?
Изменено: - 26.03.2020 14:40:23
|
|||
|
|
|
|
19.03.2020 00:40:28
Как обнулить XMLHTTP от кешированных значений ?
Пробовал 5 разных способов, не помог ни один, всё равно приносит старое значение респонса с юкоза
Как вы обнуляете кеш? или просто не используете XMLHTTP ? И заодно, через сколько минут кеш сбрасывается? через 30 минут?
Изменено: - 19.03.2020 11:23:25
|
|||
|
|
|
|
20.09.2019 14:33:14
Касперский блокирует интернет для Excel.
![]() Отключаешь защиту - макрос работает. После перезагрузки тоже работает, но через время всё равно блочит. Пока 3 решения: - перезагрузка - отключить защиту - отключить сетевой экран Закидывал Excel.exe в доверенные, в сетевом экране принудительно разрешал ему интернет - ничего не помогает. Как лечить? |
|
|
|
|
|
26.03.2019 06:47:21
"возникла проблема перенаправления" возникает во время Microsoft.XMLHTTP.send
через время, когда жму на Debug + F8, выскакивает "Неопознанная ошибка" макрос приходится перезапускать с нуля ![]() ответ - возникает в случае не рабочей страницы, т.е. это ошибка не по вине Excel
Изменено: - 26.03.2019 09:02:27
|
|
|
|
|
|
31.03.2018 04:36:39
Excel 2016, Параметры макросов стоят "Отключить все макросы с уведомлением"
При первом открытии любой книги выскакивает сверху сообщение, при втором открытии и последующих - макросы включены без уведомления! Если переименовываю книгу, то окошко опять всплывает. Даже переключал на "отключить все макросы без уведомления", перезапускаю Excel, открываю книгу и в ней макросы работают. Вопрос: Почему так происходит и где это отключить? (нужно, чтобы всегда было уведомление.)
Изменено: - 31.03.2018 05:04:17
|
|
|
|
|
|
13.10.2017 15:43:12
Здравствуйте.
В двух ячейках две одинаковых картинки. Но высота первой 1651.5, а высота второй 74.25 Если высоту первой напрямую задать 74.25, то они станут выглядеть одинаково. Вопрос1: Почему внутри файла одна картинка image1.jpeg, а на листе две разных картинки? Вопрос2: Если обе эти картинки берут данные из одного источника, то можно ли обнулить высоту и ширину (т.е. взять родную высоту ширину из оригинального файла источника)? Или может быть какое-то "Scale свойство" нарушено и при задании правильного значения первая картинка станет отображаться нормально с оригинальным соотношением сторон? Или по другому: Как узнать высоту и ширину вставленной картинки-файла, к которой обращается комментарий? xls прикреплён
Изменено: - 13.10.2017 16:45:51
|
|
|
|
|
|
24.04.2017 07:51:09
Здравствуйте.
Знак произведения "*" в формуле СУММПРОИЗВ является функцией "И" Как можно добавить "ИЛИ" в СУММПРОИЗВ ? Например: Нужно посчитать И("год";Или("Зима";"2000")) формулой СУММПРОИЗВ красный - исходные данные синий - вспомогательные СУММПРОИЗВ (по сути, не нужные) желтый - тут нужная формула (в примере формула считает неправильно) оранжевый - решение на формулах И,ИЛИ (как шпаргалка)
Изменено: - 24.04.2017 07:53:08
|
|
|
|
|
|
23.11.2016 17:10:24
хочу изменить Ctrl+PGDN Ctrl+PGUP на Ctrl+TAB Ctrl+Shift+TAB
при использовании этого кода переход происходит только один раз, а на второй раз выскакивает ошибка
что нужно подправить? |
|||
|
|
|
|
23.11.2016 10:54:09
при попытке выявить уникальные значения из списка через фильтр выдает ошибку
диапазон выборки не имеет имени или имеет неправильное имя поля - ошибка 1004 оказалось, что это происходит из-за смены значения в первой ячейке столбца, куда выгружаются уникальные т.е. для исправления ошибки нужно очистить столбик, в который выгружаются уникальные значения вопроса как такового нет, он уже решен, но на форуме конкретно такой проблемы не нашел, пока решал этот вопрос. может плохо искал прикреплен пример test1 работает test2 не работает test1
test2
Изменено: - 23.11.2016 10:59:32
|
|||||
|
|
|