MS Access Runtime - Ошибка диалога файлов - PullRequest
0 голосов
/ 25 июня 2018

Я надеюсь, что вы можете помочь мне здесь ... У меня есть приложение в MS Access 2013 (.accdb). У меня есть функция диалога файлов по нажатию кнопки. (MSGBOX Функции для отладки!)

Private Sub Browse_btn_Click()
Dim path As String, initialPath As String
Dim fd As Object
MsgBox "Function Starts"
On Error GoTo errhnd

If IsNull(Me.RPE_Txt.value) Then initialPath = "C:\users\" & Environ("USERNAME") & "\" _
    Else: initialPath = Me.RPE_Txt.value

MsgBox "Setting FD"
Set fd = Application.FileDialog(3)



On Error GoTo errhnd

With fd
        MsgBox "in fd with statement"
        .Title = "RPE File"
        MsgBox "fd.initialview"
        .InitialView = 2
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "Excel Files", "*.csv"
        .InitialFileName = initialPath
        MsgBox "show"
        .Show
        MsgBox "path"
        path = .SelectedItems(1)
End With
MsgBox "end with"
Me.RPE_Txt.value = path

Exit Sub
errhnd:
MsgBox Err.Description, vbCritical, "Error: " & Err.Number

End Sub

Когда я запускаю это в MS Access Runtime 2010, я получаю стандартную ошибку RunTime, когда нажимаю кнопку и происходит сбой Access ...

Я пытался добавить ссылки с приведенным ниже кодом, но он терпел крах при попытке ..

If Application.Version = 14# Then
    MsgBox "Office 2010"
    If Dir("C:\Program Files\Common Files\microsoft shared\OFFICE14\MSO.DLL") <> "" And Not refExists("OFFICE") Then
        MsgBox "Applying Reference for 2010 Office"
        'Application.References.AddFromFile "C:\Program Files\Common Files\microsoft shared\OFFICE14\MSO.dll"
        Application.References.AddFromGuid "{398E906A-826B-48DD-9791-549C649CACE5}", 14#, 14#
        MsgBox "Office 2010 Reference Applied!"
    End If

ElseIf Application.Version = 15# Then
    MsgBox "Office 2013"
    If Dir("C:\Program Files\Common Files\microsoft shared\OFFICE15\MSO.dll") <> "" And Not refExists("OFFICE") Then
        MsgBox "Applying Reference for 2013 Office"
        Application.References.AddFromFile "C:\Program Files\Common Files\microsoft shared\OFFICE15\MSO.dll"
        MsgBox "Office 2013 Reference Applied!"
    End If

End If

Любая помощь будет оценена!

Спасибо, Пит!

1 Ответ

0 голосов
/ 25 июня 2018

К сожалению, FileDialog не работает во время выполнения.

Часто упоминаемый код замены можно найти здесь:

API: вызов стандартного диалогового окна открытия / сохранения файлов Windows

Это долго, но работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...