Application.FileDialog не упоминается?

Поскольку мои исследования привели меня к убеждению, что мои ссылки могут иметь к этому какое-то отношение, вот мои ссылки на мой MS Access:

  • Visual Basic для приложений
  • Библиотека объектов Microsoft Access 16.0
  • OLE-автоматизация
  • Доступ к библиотеке объектов ядра базы данных Microsoft Office 16.0
  • Библиотека объектов Microsoft Office 16.0

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

Dim fd as filedialog

Set fd = Application.filedialog(msoFileDialogSave)
With fd

...

Теперь решение с димом в порядке, но строка "set" выдает ошибку, говорящую, что метод filedialog для объекта "_application" не удался.

Я рассматривал подобные проблемы здесь, но безуспешно. Я рассчитывал достичь своих целей

Если поможет, проведя мышкой по "msoFileDialogsave", я замечаю, что там пусто

Kingsley Obeng 16.04.2024 11:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
90
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать этот код:

   Dim f As Office.FileDialog
   Dim varItem As String

   Set f = Application.FileDialog(msoFileDialogFilePicker)
   
   With f
      .Title = "My Title"
      .AllowMultiSelect = False                 'or true
      .ButtonName = "Select"                    'give any name
      .Filters.Clear                            'clear filter before set new ones
      .Filters.Add "Excel files", "*.xl*"       'then create new ones
      .Filters.Add "Word files", "*.do*"
      .Filters.Add "Access files", "*.mdb; *.accdb"
      .FilterIndex = 2                          'pre-select one filter
      .InitialFileName = "D:\"                  'start directory

   
   If .Show Then
     ' In case of Multiselect use this code
     For Each varItem In f.SelectedItems
        Debug.Print varItem
     Next varItem
     ' In case of no MultiSelect use this code
     SelectedFileName = f.SelectedItems(1)
   Else
     ' User selected cancel
   EndIf
   End With
End Function

Дополнительные опции:

Нужна ссылка на «Библиотеку объектов Microsoft Office».

Ваши ссылки выглядят нормально, но вы должны использовать правильные константы:

Как видите, ..SaveAs нужно использовать:

Другие вопросы по теме