Проверьте, не является ли объект Excel не тематическим - PullRequest
0 голосов
/ 26 ноября 2018

Если я читаю ThemeColor границы из Excel FormatCondition, это выдает мне ошибку

'Ошибка приложения или объекта'

всписок наблюдения или

Ошибка времени выполнения 5: «Недопустимый вызов процедуры или аргумент»

при чтении в окне «Немедленно».В других случаях это просто ноль.Кажется, ошибка возникает, когда существует действительный набор границ.

С https://docs.microsoft.com/en-us/office/vba/api/excel.border.themecolor Я получаю следующее

Попытка получить доступ к цвету темы для объекта, чейцвет, не являющийся тематическим, приведет к ошибке времени выполнения недопустимого запроса.

Другие объекты, которые я проверяю, также имеют похожую проблему, например .Interior.ThemeColor.

Как узнать, является ли объект тематическим - есть ли официальный способ сделать это?Могу ли я использовать тот факт, что есть ошибка, чтобы сделать вывод, что она не тематическая или ошибки могут возникать по другим причинам?

Пример кода:

Dim WS As Worksheet
Dim fcs As FormatConditions
Dim cf1 As FormatCondition
Dim b1 As Border

Set WS = ActiveSheet
Set fcs = WS.Cells.FormatConditions
Set cf1 = fcs.item(1)
Set b1 = cf1.Borders.item(xlEdgeBottom)

Dim tc As Variant
tc = b1.ThemeColor            'error
tc = cf1.Interior.ThemeColor  'error

Воспроизвестисоздать лист Excel с условным правилом форматирования.Правила, которые я использую, используют формулу, например = NOT (ISNUMBER (C9)), и накладывают цвет заливки ячейки, а иногда и границу внизу ячейки, и охватывают диапазон ячеек, например, $ C $ 8: $C $ 39

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...