Страницы: 1
RSS
VBA. Запись свойства объекта в переменную
 
Добрый день, уважаемые форумчане! Скажите, что я делаю не так? Программа спотыкается на этой строке:
Код
curProp = Worksheets("Лист").PivotTables("Таблица").PivotFields("Поле").ShowDetail
Я ожидал что значение свойства (Boolean) будет записано в переменную но что-то пошло не так...
 
Здравствуйте.

Сложно помочь в данном случае, не видя файла (можно было попробовать создать файл для примера).
Попробую предложить пару вариантов.

1. Если невозможно передать значение, можно попробовать получить ссылку.
Для этого нужно создать переменную типа Variant или Object, а ссылку передать при помощи оператора Set:
Код
Set curProp = Worksheets("Лист").PivotTables("Таблица").PivotFields("Поле").ShowDetail

2. Если не получается передать булево значение напрямую, то можно попробовать выполнить проверку и присвоить значение в зависимости от результата:

Код
if Worksheets("Лист").PivotTables("Таблица").PivotFields("Поле").ShowDetail Then curProp = true: Else curProp = false

Надеюсь, что один из вариантов поможет)

 
Цитата
AB1 написал:
Set curProp =
А как это вяжется с типом данных Property ShowDetail As Boolean
 
Согласен, так можно передать только ссылку на объект:
Код
Set curProperty = Worksheets("Лист").PivotTables("Таблица").PivotFields("Поле")
а затем попробовать извлечь переменную:
Код
curProp = curProperty.ShowDetail
Хотя в этом случае нет разницы с исходным вариантом.
Страницы: 1
Наверх