Макросы VBA Excel — Страница 20

Преобразование массива в XML (экспорт таблицы в файл XML)

Функция Array2XML формирует из исходной таблицы объект типа DOMDocument, который можно выгрузить в XML-файл одной строкой кода (метод Save)

Sub XMLExport()
    Dim Заголовок As Range, Данные As Range
    Set Заголовок = Range("a1:f1")
    Set Данные = Range([A2], Range("A" & Rows.Count).End(xlUp)).Resize(, Заголовок.Columns.Count)
 
    arrHeaders = Application.Transpose(Application.Transpose(Заголовок.Value))
    ПутьКФайлуXML = ThisWorkbook.Path & "\result.xml"
 
    ' формируем DOMDocument, и сохраняем XML в файл result.xml
    Array2XML(Данные.Value, arrHeaders, "Root").Save ПутьКФайлуXML
 
    If Err = 0 Then MsgBox "Создан XML файл" & vbNewLine & ПутьКФайлуXML, vbInformation, "Готово"
End Sub

Определение IP адреса и страны по доменному имени

Макрос определения страны и IP адреса по доменному имени

Макрос предназначен для вывода IP адресов и названий стран, на основании столбца с доменными именами.

По состоянию на 2024 год, этот макрос не работает ввиду недоступности сайта smart-ip.net (можно переделать код на использование другого аналогичного веб-сервиса)

В прикреплённом файле - 2 способа реализации:

1) по доменному имени определяется IP адрес (посредством команды PING - выполнения ICMP запроса),
а затем определяется страна (по IP адресу), с использованием сервиса smart-ip.net

2) используется только сервис smart-ip.net
Отправляется запрос на указанный сервис, и из полученных данных вычленяются IP адрес и название страны.

 

Надстройка для программного добавления кнопок на лист Excel

Кнопки на листе Excel, созданные макросом

Надстройка предназначена для автоматизации добавления кнопок запуска макроса на лист Excel

Поскольку макросы мне приходится писать очень часто, рисование кнопок их запуска отнимает достаточно много времени.

Решением стало создание этой надстройки - теперь достаточно выделить диапазон ячеек на листе Excel, нажать комбинацию клавиш типа Alt + 1, - и через мгновение на листе создаётся зелёная кнопка с названием «Запуск», расположенная точно поверх ранее выделенных ячеек. Остаётся только назначить этой кнопке макрос, щелкнув по ней правой клавишей мыши.

Пример кода VBA для создания кнопки:

Sub ПримерИспользования()
    СоздатьКнопку Selection, vbGreen, "Обработать данные": End Sub
End Sub

Для вызова формы (где можно настроить текст и цвет будущей кнопки) предназначена комбинация клавиш Ctrl + Alt + Shift + B

Добавление изображения в примечание

С помощью нижеуказанного макроса, в примечание активной ячейки можно добавить изображение.

При выделении данной ячейки - изображение будет отображаться в комментарии.

Данный код добавляет в контекстное меню ячейки новое действие "Вставить изображение"

Нижеуказанный макрос лучше всего поместить в "личную книгу макросов" (PERSONAL)

В модуль "ЭтаКнига" файла PERSONAL.xls вставляем:

Просмотр видео Youtube в Excel

Просмотр видеоролика с Youtube на форме в Excel

Макрос предназначен для показа видеороликов на форме в Microsoft Excel.

На форме UserForm расположен компонент WebBrowser, в котором открывается заданных видеоролик при запуске формы.

Вызов формы осуществляется таким кодом: