Чтобы связать кнопку с вашей функцией выбора папки в Excel, вам нужно вызвать вашу функцию из обработчика события нажатия на кнопку `CommandButton1_Click`. Ваша функция `GetFolderPath` предназначена для выбора папки, а процедура `ПримерИспользования_GetFolderPath` демонстрирует, как ее использовать. Вам нужно объединить эти два элемента в обработчик событий.
Вот как вы можете сделать это:
1. Откройте редактор VBA (нажмите `ALT + F11` в Excel).
2. Найдите свой объект "UserForm", где находится ваша кнопка, и дважды щелкните по кнопке (например, `CommandButton1`). Это откроет код для вашей кнопки.
3. Внутри обработчика `CommandButton1_Click` вы можете вызывать вашу функцию для выбора папки. Вот пример, как это сделать:
```vba
Private Sub CommandButton1_Click()
Dim ПутьКПапке As String
ПутьКПапке = GetFolderPath("Выберите папку", ThisWorkbook.Path) ' вызов функции выбора папки
If ПутьКПапке = "" Then
MsgBox "Выбор отменен.", vbExclamation
Else
MsgBox "Выбрана папка: " & ПутьКПапке, vbInformation
End If
End Sub
```
Полный код должен выглядеть так:
```vba
Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
Optional ByVal InitialPath As String = "c:\") As String
Dim PS As String: PS = Application.PathSeparator
With Application.FileDialog(msoFileDialogFolderPicker)
If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
.ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
If .Show <> -1 Then Exit Function
GetFolderPath = .SelectedItems(1)
If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
End With
End Function
Private Sub CommandButton1_Click()
Dim ПутьКПапке As String
ПутьКПапке = GetFolderPath("Выберите папку", ThisWorkbook.Path) ' вызов функции выбора папки
If ПутьКПапке = "" Then
MsgBox "Выбор отменен.", vbExclamation
Else
MsgBox "Выбрана папка: " & ПутьКПапке, vbInformation
End If
End Sub
```
Теперь при нажатии на `CommandButton1` будет открываться диалог выбора папки, и сообщение будет выводиться в зависимости от того, была ли выбрана папка или действие отменено.