Как установить FileDialog, чтобы не разрешать двойной щелчок
Я хочу использовать диалог открытия файла, чтобы извлечь путь к файлу (или, если проще, открыть файл)
Можно ли установить диалог, чтобы он не открывал файл, если имя файла дважды щелкнуто? Я хочу избежать, если пользователь дважды щелкает имя файла, но этот файл уже открыт, появляется дополнительное предупреждение.
Или, наоборот, это сработает, если я установлю все так, чтобы открытая версия файла была открыта, когда пользователь нажимает кнопку OPEN
диалогового окна или дважды щелкает имя файла – это более простой подход? В этом случае я использую метод Execute
диалога?
- Получите данные строки из Sheet1, затем поместите их в другой UserForm
- Как играть в локальный видеофайл в цикле на пользовательской форме excel?
- Изменение столбцов для comboboxes пользовательской формы Excel
- Настройка нескольких значений VBA
- Пользовательская форма Excel, местоположение ячейки и дата вставки
Private Function FindFilePath() As Boolean Dim selectedMultiFiles As Boolean Dim fd As FileDialog Dim objfl As Variant Set fd = Excel.Application.FileDialog(msoFileDialogOpen) Dim myTxt As String With fd .Filters.Add "Excel Files", "*.xlsx;*.xlsm", 1 .AllowMultiSelect = False .Title = "Choose the file with the target table" .InitialView = msoFileDialogViewDetails If .Show = -1 Then myTxt = .SelectedItems.Item(1) fFileName = myTxt FindFilePath = True Else myTxt = "Nothing was selected" FindFilePath = False End If On Error Resume Next End With txBoxFilePath.Text = myTxt End Function
- Ссылка на самый недавно добавленный рабочий лист
- Можете ли вы использовать оператор if, чтобы решить, в чем UserForm помещать информацию?
- Мой ComboBox не отображает значения, которые я добавил в VBA
- Используя Excel Userform, вырезать строку с «x», удалить строку и вставить в другой лист
- Excel VBA UserForm блокирует лист
- Форма входа в Excel VBA с сохраненными паролями в базе данных Access
- Добавление серийной коллекции в диаграмму с помощью UserForm (combobox)
- Вызов пользовательской формы в Excel VBA и продолжение в зависимости от того, какая кнопка была нажата
Я не уверен, насколько это повлияет на ваш текущий проект, но вы знаете
Dim getPath As Variant getPath = Application.GetOpenFilename Debug.Print getPath
где getPath
буквально сохранит путь к любому файлу, который пользователь выбрал.
Он не откроет файл автоматически, если вы на самом деле не Set getPath = App..
Вы можете открыть файл позже в своем коде, выполнив проверки того, что файл уже открыт или просто открывает его только для чтения, как вы упомянули.