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

Получение текста из диапазона ячеек

Function Range2TXT(ByRef ra As Range, Optional ByVal ColumnsSeparator$ = vbTab, _
                   Optional ByVal RowsSeparator$ = vbNewLine) As String
    If ra.Cells.Count = 1 Then Range2TXT = ra.Value & RowsSeparator$: Exit Function
    If ra.Areas.Count > 1 Then
        Dim ar As Range
        For Each ar In ra.Areas
            Range2TXT = Range2TXT & Range2TXT(ar, ColumnsSeparator$, RowsSeparator$)
        Next ar
        Exit Function
    End If
    arr = ra.Value
    For i = LBound(arr, 1) To UBound(arr, 1)

Преобразование пути к сетевой папке в формат UNC

К примеру, требуется преобразовать путь вида Z:\Папка\Разное\ (где Z - буква сетевого диска) в путь вида \\server\Files\Папка\Разное

Для этого можно использовать возможности объекта FileSystemObject:

Sub ПолучениеСетевогоПутиПапки()
    ОбычныйПуть = "Z:\Папка\Разное\"
 
    With CreateObject("Scripting.FileSystemObject").getfolder(ОбычныйПуть)
        СетевойПуть = Replace(.Path, .Drive.Path, .Drive.ShareName)
    End With
 
    Debug.Print ОбычныйПуть, СетевойПуть
    ' СетевойПуть = \\server\Files\Папка\Разное
End Sub

Получение списка IP адресов средствами VBA

Фунцкия Get_All_IP_Addresses возвращает коллекцию, содержащую все IP-адреса всех сетевых интерфейсов.

Пример использования функции:

Sub ВыводРезультатов_Get_All_IP_Addresses()
    For Each IPaddr In Get_All_IP_Addresses
        txt = txt & IPaddr & vbNewLine
    Next
    MsgBox txt, vbInformation, "Список всех IP адресов"
End Sub

Форма "О программе..." с гиперссылкой и бегущей строкой

Форма с гиперссылкой и бегущей строкой

Простой пример реализации гиперссылок и бегущей строки на форме средствами VBA.

Получение текущей даты и времени с сервера в интернете

Функция GetRealTime выполняет HTTP-запрос к заданному серверу,
и из заголовка Date ответа сервера берёт текущее время и дату.