Мы продолжаем поддерживать и внедрять инновации в среду выполнения Windows Forms. В этой статье обсудим, что мы сделали в рамках .NET 6.0. В том числе среди улучшений: улучшения и исправления специальных возможностей; начальная загрузка приложения; обновления шаблона; больше конструкторов среды выполнения; высокий DPI и улучшения масштабирования и другое.
Visual Basic for Applications *
Visual Basic для автоматизации в приложениях
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Проверка числа на простоту
Простых чисел бесконечное множество. В интернете в свободном доступе можно найти таблицы простых чисел до 21 000 000. Существующие методы проверки чисел на простоту очень сложны, не универсальны, поэтому мной разработан еще один способ проверки числа на простоту для чисел больше 10.
Простое число – целое положительное число, которое имеет два различных натуральных делителя: единицу и самого себя, то есть, если число можно разложить на множители значит оно не простое – а составное.
Пусть А – натуральное число, тогда
A=X*Y,
где Х и Y – натуральные числа.
Мы знаем, что простые числа не четные, и все числа, заканчивающиеся на 5 и 0 кратны пяти, значит, простые числа всегда заканчиваются на 1, 3, 7, 9. Выберем из таблицы умножения примеры, в которых последняя цифра произведения равна 1 или 3 или 7 или 9 (смотрим рисунок).
Как мы JIRA и MS Project подружили
Запланировали задачу в MS Project, а исполнители не в курсе, т.к. смотрят свои таски в JIRA? Вручную заводить в таски долго, а любое перепланирование вызывает проблемы?
Если вы сталкивались с этим, мой опыт может показаться полезным.
Blitz Excel UI
Всем привет. "Не возвращаясь" к нашим баранам из предыдущей статьи "И снова про MS Excel", хочу показать, что же все-таки у меня получилось для работы со скриптами First Response Kit (sp_Blitz) от Brent Ozar и компании. Нравится данный набор и для анализа загруженности SQL Server-а и оптимизации запросов на оном. Причем сам Brent предлагает нечто подобное за денюжку. Для тех кто пользовался, пользуется или думает пользоваться - предлагаю взглянуть на то что у меня получилось.
Как Excel и VBA помогают отправлять тысячи REST API запросов
Работая в IoT-сфере и плотно взаимодействуя с одним из основных элементов данной концепции технологий – сетевым сервером, столкнулся вот с какой проблемой (задачей): необходимо отправлять много запросов для работы с умными устройствами на сетевой сервер. На сервере был реализован REST API с оболочкой Swagger UI, где из графической оболочки можно было отправлять только разовые запросы. Анализ сторонних клиентов, типа Postman или Insomnia показал, что простого визуального способа поместить в скрипт массив из необходимого перечня идентификаторов устройств (или любых других элементов сервера), для обращения к ним – не нашлось.
Так как большая часть работы с выгрузками и данными была в Excel, то решено было вспомнить навыки, полученные на учебе в университете, и написать скрипт на VBA, который бы мою задачку решал.
Необходимо было:
· получать информацию по устройствам с различными параметрами фильтрации (GET);
· применять изменения в конфигурации по устройствам: имя, профиль устройства, сетевые лицензии и пр. (PUT);
· отправлять данные для конфигурации и взаимодействия с устройствами (POST).
И сегодня я расскажу вам про то, как с помощью Excel, пары формул и самописных функций на VBA можно реализовать алгоритм, отправляющий любое необходимое количество REST-API запросов с использованием авторизации Bearer Token.
Данная статья будет полезная тем, кто воспользуется данным решением под Windows, но еще больше она будет полезна тем людям, которые хотят использовать данное решение на MacOS (с Excel x64). Как вы уже догадались, ниже будут рассмотрены два варианта реализации под разные системы, так как с MacOS есть нюанс.
И снова про MS Excel
Однажды в моем инстаграме появились сразу несколько блоков рекламы по поводу ознакомительных курсов нескольких Российских онлайн-школ на тему "Аналитика данных на Python для чайников". Подумав о том, что можно с пользой для себя провести несколько часов и прокачать свои навыки по анализу, я записался и посетил данные курсы. Самое забавное, что практически все что я видел начиналось словами: "Давайте выбросим MS Excel (далее с вашего позволения просто - "эксель") и начнем работать на Python". Возмущению моему не было предела. В разумных рамках. Пройдя свой путь от разработчика (до черти как это назвать) и постоянно работая с данными, могу только привести в ответ фразу знаменитого персонажа Alf - "Вы просто не умеете их готовить".
Как упростить рутинные задачи, используя VBA
Привет, Хабр! Я Сергей Чебарев, аналитик в команде визуализации данных «Северсталь-инфокома», и сегодня я расскажу, как можно, используя VBA и приложения Office, автоматизировать рутину в работе. VBA (Visual Basic for Applications) – это упрощенная версия Visual Basic, встроенная в множество продуктов Microsoft Office, и соответственно, эти продукты можно подружить между собой.
Самое очевидное применение VBA (который ещё часто и не вполне корректно называют макросами) – это автоматизация типовых задач с множеством повторяющихся шагов, делать которые руками долго, скучно и чревато ошибкам от усталости. Рассмотрим одну из таких задач.
Созданные с помощью библиотеки .NET документы Excel обходят проверки безопасности
Обнаруженное недавно семейство вредоносного ПО под названием Epic Manchego использует хитрый трюк для создания вредоносных файлов MS Excel с минимальной степенью обнаружения и повышенной вероятностью обхода систем безопасности. В преддверии старта нового потока курса Этичный хакер, делимся с вами описанием этой уязвимости. Изучая способы обхода систем безопасности, используемые злоумышленниками, можно понять, какие первоочередные меры следует предпринять для защиты систем от атак подобного рода.
Хорошие BPM — инструменты, которых нет и нет. Моделирование процессов
Поговорим о том, какие инструменты хотелось бы иметь при описании бизнес-процессов. Инструментов BPMS (BPM systems) много, но выбрать то особо нечего …
Ниже перечислим некоторые важные инструментальные возможности некоторых сред моделирования процессов (в основном ARIS и MS visio).
BASIC. Кроссплатформенное ПО тогда и сейчас
Удивит ли вас, если я скажу, что BASIC все еще не утратил свою актуальность? Помимо того, что этот язык явился прародителем современных домашних вычислительных систем, он все еще остается жизнеспособным даже вне кругов ретро-энтузиастов. Предлагаем окунуться в краткий обзор истории его становления, начиная с азов и заканчивая современными реализациями.
Функция количества високосных дней в периоде
Эффективная функция вычисления количества дней високосных и невисокосных лет для Excel.
Как известно «Лень – двигатель прогресса». В своей работе однажды я столкнулся задачей, когда нужно было составить таблицу расчёта процентов по договору займа, где за базу должно было быть фактическое количество дней в году. Неудобство составляло то, что нужно было не забыть про високосные года и разделять дни, которые относятся к високосному году и дни не високосных лет. Была написана простенькая формула, но позже я выяснил, что расчётом високосных лет не всё так просто.
Метод Application.Run – простой способ подружить Office-ribbon и обычные VBA-макросы (на примере C# и Excel)
Для читателей, в целом знакомых с тем, как в Visual Studio (конкретно – механизмы Visual Studio Tools for Office (VSTO)) реализована работа с объектами офисных приложений (объектные модели, само собой, ничем не отличаются от доступных средствами VBA), целесообразно сократить время чтения – основную мысль статьи можно выразить одной строкой C#-кода:
Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");
которая аналогична хорошо известному VBA-вызову Application.Run(“ИмяМакроса”) – в том числе и в варианте вызова как функции:
MyValue = Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");
Ну и вариантах с передачей одного или нескольких параметров разных типов:
Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин", "Параметр1", 2);
VBA-разработчиков, для которых актуальна данная проблема, – приглашаю продолжить чтение. Пошаговое выполнение демо-примера займет примерно 10-20 минут (без учета затрат времени на загрузку, установку и стартовую настройку Visual Studio Community Edition).
Защита проекта VBA в MS Excel
Дисклеймер:
В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны – ранжирование.
Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.
Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты.
Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек.
Главная панель Надстройки Macro Tools VBA
in2sql: Работаем с разнообразием ODBC источников
В предыдущих частях:
В данной части поговорим о том, как создается список объектов, которые выводятся в навигационное дерево.
Excel VBA — создаем свою панель инструментов
- не зависит от конкретного файла
- располагается в основной панели инструментов
- дает кастомизируемый UI
Документация .NET: что новенького за январь
Добро пожаловать статью о новой документации по .NET за январь 2020 года. В этой статье перечислены некоторые основные изменения в документации за этот период. Присоединяйтесь и изучайте новые статьи!
Что новенького в нашей документации по .NET (за декабрь 2019)
.NET Core
Новые статьи
- .NET Core Uninstall Tool
- Важные изменения при переходе с версии 2.0 на 2.1
- Важные изменения при миграции с .NET Framework на .NET Core
- Гайд: отладка memory leak в .NET Core
- Как установить локализованные файлы IntelliSense для .NET Core
- Варианты конфигурации рантайма для компиляции
- Параметры конфигурации рантайма для отладки и профилирования
- Варианты конфигурации рантайма для глобализации
- Варианты конфигурации рантайма для работы в сети
- Параметры конфигурации рантайма для потоков
- Начало работы с .NET Core в Windows/Linux/macOS с помощью командной строки
- Что нового в .NET Core 3.1
Как без боли, без капчи и бесплатно привести выписки из ФГИС ЕГРН к человекочитаемому(*) виду
Моя зона ответственности — абонентский отдел РСО, полторы сотни тысяч лицевых счетов в трёх районах области. Для бэкграунда расскажу, как я получаю выписки.
Начинал работать с Росреестром, что называется, в лоб: открыл Запрос посредством доступа к ФГИС ЕГРН, ввёл ключ, заполнил форму поиска, нажал «Найти», выбрал объект типа «жилой дом» или «квартира», заказал выписку, скачал электронный документ, преобразовал его в человекочитаемый(*) формат, сохранил. Всё просто, но не без нюансов.
Функции обратного вызова в скриптах
Иногда наш COM‐компонент должен отправить клиенту уведомление или вызвать функцию обратного вызова. Схема простая: компонент публикует интерфейс, клиент создаёт унаследованный от интерфейса объект и передаёт его компоненту, компонент в свою очередь вызывает функции интерфейса, тем самым вызывая функции на стороне клиента.
В случае Visual Basic или Visual Basic for Applicatons мы можем написать класс, унаследованный от любого интерфейса, однако для файлов сценария VBScript такой возможности нет.
Здесь нам спешит на помощь интерфейс IDispatch
. С помощью этого интерфейса наш могучий компонент смиренно примет на себя скромную роль клиента, а маленький сценарий превратится в настоящий сервер автоматизации.
Разрабатывать компонент будем на языке программирования FreeBASIC.
Надстройка для Excel, облегчающая установку фильтров при работе с кубами (VBA)
Или, например, установить для куба фильтр по измерению с датами, но не проставлять галочки на каждом дне/месяце/годе, а задать диапазон С… ПО ....
Еще достаточно часто требуются установки периодов по фиксированным шаблонам, типа текущий день/месяц/год. Для этих целей можно добавить наборы (в многомерной модели куба) или добавить специальные атрибуты в измерение (это не очень удобно, но в табличной модели куба наборов нет).
Мы запилили на VBA расширение, добавляющее на ленту панель Инструменты куба с волшебными кнопочками.
Вклад авторов
-
oWart 319.0 -
Chronas 144.0 -
alizar 117.0 -
kuznetsovin 52.0 -
yeputons 44.0 -
PavelBryz 40.0 -
lexkazakov 30.8 -
unkinddragon 28.0 -
ormoulu 24.0 -
severnik 24.0