Задать вопрос
@Dato38it

Как привяать событие к кнопке в макрос Excel?

Привет.
начал изучать макросы по работе. нашел первую попавшуюся задачу, дляучебы
как мне связать кнопку с функцией выбрать папку?
вот функция выбора папки:
Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
                       Optional ByVal InitialPath As String = "c:\") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
    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
 
Sub ПримерИспользования_GetFolderPath()
    ПутьКПапке = GetFolderPath("Заголовок окна", ThisWorkbook.Path)   ' запрашиваем имя папки
    If ПутьКПапке = "" Then Exit Sub    ' выход, если пользователь отказался от выбора папки
    MsgBox "Выбрана папка: " & ПутьКПапке, vbInformation
End Sub

А тут сама кнопка в excel.
Private Sub CommandButton1_Click()

End Sub

Как мне связать теперь эти два события, чтобы при нажатии на кнопку "выбрать папку", выполнялась та самая функция? не моу хорошую документацию с примерами найти в гугле
  • Вопрос задан
  • 162 просмотра
Подписаться 3 Простой 1 комментарий
Решения вопроса 1
NikitaDvorets
@NikitaDvorets
Консалтинг / экономика / программирование (excel)
Нужно на листе файла xlms создать кнопку с любым названием Разработчик -> Вставить -> Кнопка
Правой кнопкой мыши на вставленной кнопке назначить ей макрос ПримерИспользования_GetFolderPath
После этого можно запускать макрос кнопкой.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы