Как установить FileDialog, чтобы не разрешать двойной щелчок

Я хочу использовать диалог открытия файла, чтобы извлечь путь к файлу (или, если проще, открыть файл)

Можно ли установить диалог, чтобы он не открывал файл, если имя файла дважды щелкнуто? Я хочу избежать, если пользователь дважды щелкает имя файла, но этот файл уже открыт, появляется дополнительное предупреждение.

Или, наоборот, это сработает, если я установлю все так, чтобы открытая версия файла была открыта, когда пользователь нажимает кнопку OPEN диалогового окна или дважды щелкает имя файла – это более простой подход? В этом случае я использую метод Execute диалога?

 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 

Я не уверен, насколько это повлияет на ваш текущий проект, но вы знаете

 Dim getPath As Variant getPath = Application.GetOpenFilename Debug.Print getPath 

где getPath буквально сохранит путь к любому файлу, который пользователь выбрал.

Он не откроет файл автоматически, если вы на самом деле не Set getPath = App..

Вы можете открыть файл позже в своем коде, выполнив проверки того, что файл уже открыт или просто открывает его только для чтения, как вы упомянули.

  • Автоматическое заполнение пользовательской формы Excel в файле excel из vbscript
  • Отключить / включить вкладку в Multitab на основе значения флажка-EXCEL
  • Ошибка в Userform.Hide внутри Workbook_Deactivate event
  • Передача данных между UserForms
  • Текстовое поле VBA, отображающее валюту
  • Как добавить объекты управления в пользовательскую форму в коллекцию, а затем прокрутить коллекцию и получить доступ к их свойствам?
  • Ошибка 424 «Требуемый объект» при попытке вычислить количество используемых строк
  • excel инициализирует «защищать / снимать защиту листа» с помощью пользовательской формы
  • Элемент управления Excel VBA Excel дает ошибку «Недопустимое значение свойства» при установке ширины
  • Проверка данных Excel
  • Закрыть пользовательскую форму с помощью myForm.Скрыть или разгрузить меня
  • Давайте будем гением компьютера.