Страницы: 1
RSS
Вписать переменную в код VBA через inputbox
 
Добрый день!

Не могу придумать, что делать. Я переношу модуль из одной книги в другую на разных компьютерах. В модуле есть код с ссылкой на определенную папку у пользователя. Папка всегда меняется и пользователь должен прописывать её сам.

Есть ли через код возможность запустить макрос с inputbox. А далее, что введенное значение из inputbox сохранилось в определенном месте в макросе или группе макросов?

То есть например, чтобы один раз и навсегда вписать zn в код через всплывшее inputbox
Код
zn= "D:\test.txt"
Open zn For Input As 1
putt = Input(LOF(1), 1)
Close 1
 
Добрый день и вам. Очень удобно в коде макроса, вместо статичных ссылок на папки или файлы использовать диалаговое окно выбора папки или файла - Application.FileDialog. Вот подробное руководство или на другом ресурсе найдете.
———
Цитата
А далее, что введенное значение из inputbox сохранилось в определенном месте
Как вариант можно использовать функцию SaveSettings и соответственно для получения сохраненных настроек GetSettings. Вот краткое обяснение по этих функциях.  
Изменено: DANIKOLA - 14.07.2021 15:37:23
 
Цитата
DANIKOLA
Спасибо огромное! То что нужно!
Изменено: Юрий - 19.07.2021 12:48:35
 
Цитата
Юрий написал:
я настройку через outlook устанавливать собираюсь
в общем-то можете и там использовать с небольшой хитростью:
Код
Sub asdfasdf()
    Dim oExApp As Object, oFD As Object
    Dim x, lf As Long
    
    On Error Resume Next
    Set oExApp = GetObject(, "Excel.Application")
    If oExApp Is Nothing Then 'если Excel закрыт
        Set oExApp = CreateObject("Excel.Application")
    End If
    'назначаем переменной ссылку на экземпляр диалога
    Set oFD = oExApp.FileDialog(3) 'msoFileDialogFilePicker
    With oFD 'используем короткое обращение к объекту
    'так же можно без oFD
    'With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Title = "Выбрать файлы отчетов" 'заголовок окна диалога
        .Filters.Clear 'очищаем установленные ранее типы файлов
        .Filters.Add "Excel files", "*.xls*;*.xla*", 1 'устанавливаем возможность выбора только файлов Excel
        .Filters.Add "Text files", "*.txt", 2 'добавляем возможность выбора текстовых файлов
        .FilterIndex = 2 'устанавливаем тип файлов по умолчанию - Text files(Текстовые файлы)
        .InitialFileName = "С:\Temp\Книга1.xlsx" 'назначаем папку отображения и имя файла по умолчанию
        If oFD.Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf) 'считываем полный путь к файлу
            MsgBox x 'открытие книги
        Next
    End With
End Sub
Изменено: Дмитрий(The_Prist) Щербаков - 16.07.2021 14:30:38
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Юрий, вернитесь, приведите в порядок сообщение. Не нужно бездумно жать на кнопку цитирования. Есть и другие - Имя и Ответить
Страницы: 1
Наверх