Можно ли получить список атрибутов ячейки в Excel, используя VBA? Я хочу выяснить, выделена ли ячейка жирным шрифтом, подчеркнута курсивом и т. Д. c. Пока все предложения, которые я нашел в inte rnet, предлагают проверить, является ли значение истинным. Например, в приведенном ниже коде я проверяю, выделена ли ячейка жирным шрифтом:
Sub format_cells()
Dim ws As Worksheet
Set ws = Sheets("Uploads")
rc = ws.UsedRange.Rows.Count
For i = 2 To rc
If ws.Cells(i, 10).Font.Bold = True Then
Debug.Print "Pass"
End If
Next
End Sub
Я бы предпочел не создавать условный оператор или оператор case для проверки каждой возможности. Я предпочел бы просто получить свойства одной строкой кода.
Например, в Python я могу выполнить sh, используя библиотеку Openpyxl:
from openpyxl import load_workbook
wb = load_workbook("Book1.xlsx")
ws = wb["Uploads"]
ex = ws.cell(2,10)
print(ex.font)
Затем я получил бы следующий вывод:
<openpyxl.styles.fonts.Font object>
Parameters:
name='Calibri', charset=None, family=2.0, b=False, i=False, strike=None, outline=None, shadow=None, condense=None, color=<openpyxl.styles.colors.Color object>
Parameters:
rgb=None, indexed=None, auto=None, theme=1, tint=0.0, type='theme', extend=None, sz=11.0, u=None, vertAlign=None, scheme='minor'
Но, если я попытался сделать это в VBA, я получил бы «Ошибка во время выполнения» 424 «Требуется объект»
Sub test()
Dim ws As Worksheet
Set ws = Sheets("Uploads")
ex = ws.Range("J3")
Debug.Print ex.Font
End Sub
Спасибо.