Позднее связывание на msoFileDialogFilePicker - PullRequest
0 голосов
/ 16 апреля 2020

Я самоучка в VBA, что, вероятно, худший вид, и я все еще считаю себя новичком. Есть некоторые вещи, которые я просто не могу понять, и этот сайт был находкой. Этот код не мой, поэтому я с трудом понимаю, что он делает, что затрудняет его изменение. Это работает в течение последних двух лет. В настоящее время компания постепенно обновляет компьютеры, и у нас теперь есть несколько запущенных Office 2010 и несколько запущенных 2013. Это означает, что я больше не могу использовать ссылки Office Tool в своем коде, потому что он разрывается между системами. Короче говоря, мне нужно сделать позднюю привязку к этому куску кода, и я понятия не имею, как. Я получаю сообщение об ошибке на msoFileDialogFilePicker и msoFileDialogViewList. Переполнение сообщества, ПОМОГИТЕ!

With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False 'Select only one file
    .Title = "Locate file" 'Set dialog title
    .ButtonName = "Choose" 'Set the button caption
    .Filters.Clear 'Make sure the filter list is clear
    .InitialFileName = "\\PUSNBF02\common\Admin\New EA's\" 'Initial file search location
    .InitialView = msoFileDialogViewList 'View as list
    'Show the dialog and test the return
    If .Show = 0 Then 'didn't pick a file - exit sub
        Exit Function
    Else
       'Should be only one file name - grab it
        SourceFile = Trim(.SelectedItems(1))  'Full path of file
        strSource = SourceFile
        strSourcePath = Left(strSource, InStrRev(strSource, "\"))
        strSourceFileName = Mid(strSource, InStrRev(strSource, "\") + 1)
        strSourceExtension = Right(strSource, Len(strSource) - InStrRev(strSource, "."))
        'Debug.Print strSourceExtension
    End If
End With

1 Ответ

0 голосов
/ 16 апреля 2020

Просто замените их соответствующими числами.

Вы можете посмотреть эти числа, набрав ?msoFileDialogFilePicker в ближайшем окне, если оно у вас есть, с раннего связывания, просмотрев их в браузере объектов, или просто Google.

Соответствующий номер для msoFileDialogFilePicker равен 3, поэтому вы можете заменить его следующим:

With Application.FileDialog(3)
    '...
    .InitialView = 1 'View as list
    '...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...