FileDialog не работает - PullRequest
       26

FileDialog не работает

9 голосов
/ 28 февраля 2012

Я выглядел довольно напряженно, но не смог найти пост, который напрямую решает мою проблему.

Следующий код для формы, которую я создал, работает в Access 2003, которую я использую на работе.

Dim FileName As FileDialog
Set FileName = Application.FileDialog(msoFileDialogFilePicker)
Dim Name As Variant

With FileName
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count = 0 Then
    MsgBox "No file selected."
    Exit Sub
    End If
End With

For Each Name In FileName.SelectedItems
FileNameTextBox.Text = Mid$(Name, InStrRev(Name, "\") + 1)
Next Name

Однако, когда я попытался запустить тот же код в форме в Access 2010 на моем персональном компьютере, он не работает. Сообщение об ошибке выделяет первую строку и говорит: «Определяемый пользователем тип не определен». Я также попытался объявить FileName as Office.FileDialog, но тоже не повезло. У меня есть библиотека объектов Microsoft Access 14.0 в качестве одной из используемых ссылок, поэтому я не знаю, что с этим не так.

Я пользуюсь Access только две недели, и все мои знания приходят из поиска в Google, поэтому очень вероятно, что я упускаю что-то очевидное.

Ответы [ 2 ]

21 голосов
/ 28 февраля 2012

Объект FileDialog предоставляется не библиотекой Access, а библиотекой Office.Таким образом, ваш код должен работать, если вы установите ссылку на Microsoft Office [номер версии] Библиотека объектов .Либо у вас нет этого набора ссылок, либо он не работает.

Однако, если бы это был я, я бы оставил ссылку неустановленной и изменил код следующим образом.Посмотрите, работает ли это для вас

1 голос
/ 30 января 2018

В инструментах, ссылках ... вместо библиотеки Microsoft Access выберите «Microsoft Office 14.0 Object Library».

...