Как назначить переменную для свойства объекта в VBA - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь установить свойство namespace объекта Shell.Application динамически.

With CreateObject("Shell.Application").Namespace(FolderName)
    ExtendProperty = .GetDetailsOf(.Items.Item(FileName), 143)
End With

Когда значения для FolderName и для FileName являются фиксированными (жестко запрограммированными), фрагмент работает.Но когда я пытаюсь передать их как переменные;ошибка Run-time error 91 - Object variable or With Block variable not set. возвращается.Также мне нужно присвоить возвращаемое значение переменной для последующего использования;ExtendProperty.Я немного новичок в VBA и не смог найти что-либо в Интернете (области, местные жители и т. Д.) Для этого конкретного случая.

1 Ответ

0 голосов
/ 28 сентября 2018

Во избежание ошибки упомянутые переменные передаются как варианты

Sub TEST2()
    Dim ExtendProperty As Variant
    Dim folderName As Variant, FileName As Variant
    folderName = "C:\Users\User\Desktop\TestFolder"
    FileName = "Test.xlsx"
    With CreateObject("Shell.Application").Namespace(folderName)
       ExtendProperty = .GetDetailsOf(.Items.item(FileName), 143)
    End With
End Sub
...