2016-09-04 12 views
0

Пожалуйста, не комментирует ни с чем об именовании, подходы, спрашивая, что код должен делать, или что-нибудь, что не имеет прямое отношение к моему вопросу:msoFileDialogFilePicker в результате ошибки

Это отлично работает для меня , everytime - всплывающее окно, и я выбираю несколько файлов Excel, и их данные загружаются в мой лист (код не изображен). Мой клиент говорит, что он ошибается, когда он запускает его, и, естественно, я предполагал, что это потому, что он запустил его на Mac ... но он говорит, что он получил ошибку на как на ПК, так и на Mac. Я не могу воссоздать ошибку ... и вот мы.

Вот код в вопросе, заблудших линия выделена желтым цветом: enter image description here

enter image description here

Код для копирования:

Sub Import_Employee_Sheet() 
    With Application.FileDialog(msoFileDialogFilePicker) 
     .AllowMultiSelect = True 

     If .Show = True Then 
     End If 
    End With 
End Sub 

ответ

2

Это, вероятно, потому, что он не установил Microsoft Object [Version number] Library ссылка в разделе «Инструменты/Ссылки» в среде IDE или потому, что она сломана. Также см. Сообщение this о том, как исправить проблему БЕЗ установки ссылки на объект, чтобы избежать подобных проблем в будущем.

Редактировать

Это следует читать "... без установки ссылки библиотека" выше.

+0

Хорошо, я вижу исправление. Поэтому для моего обучения это работает, потому что оно использует целое число вместо «msoFileDialog», которое зависит от библиотеки? –

+0

Объект 'FileDialog' принимает параметр в виде константы' MsoFileDialogType', которая представляет тип диалогового окна, в данном случае 'msoFileDialogFilePicker'. Таким образом, параметр взаимозаменяем с числом (тип Long в исправлении, а не целое число, но это не существенно). Причина, по которой исправление работает, связано с первыми тремя строками кода, а не только с первым. См. Https://msdn.microsoft.com/en-us/library/office/ff196794.aspx. – Miqi180