Если элементов не выбрано, * SelectedItems (1) * не существует, и Excel вернет ошибку. Это то, что происходит, когда пользователь нажимает кнопку Cancel .
Решение для этого - проверить, сколько элементов выбрано с использованием структуры ниже:
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
'Optional: limits the user to choosing a single option. Necessary if you want to avoid an error because the user selected multiple files.
.Title = "Dialog Title" 'Changing the title is also Optional
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Canceled by user" 'or just do nothing!
Else
MyVar = .SelectedItems(1)
End If
'Alternatively, "if .selecteditems.count = 1 then myvar = .selecteditems(1)" can be used
End With
Отказ от ответственности: я работаю над преактом.
Вы видите эту ошибку, потому что -API createContext
не поддерживается в Preact 8.x. Это будет частью нашего следующего основного релиза, который уже не за горами. Альфа должна быть опубликована 4 марта 2019 года.
Если вам абсолютно необходимо styled-components
для работы с Preact 8.x, тогда единственный вариант - перейти на styled-components
V3, как предложил @ukosteopath.
См. Здесь https://github.com/developit/preact-cli/issues/672#issuecomment-440985092 и мои правки выше.
Понижение styled-components
с v4 до v3 «исправляет» проблему.