Привет, члены stackoverflow,
У меня есть лист Excel, в котором определенные ячейки имеют красную рамку и размер красного шрифта.В данный момент я ищу способ заменить красный цвет на другой, например синий.
Поскольку у меня нет знаний по VBA, я пытаюсь реализовать это с помощью AutoHotkey и его COM.служба поддержки.Я добился определенного прогресса!Однако, хотя это работает, оно не меняет границы нескольких ячеек.То же самое касается цветов шрифта - некоторые меняются, другие не меняются.
Это мой код:
F1::
xl := ComObjActive("Excel.Application") ; Connect to Excel
ws := xl.ActiveSheet ; Connect to worksheet
column = 65 ; ASCCI code
Loop, 800
{
r++ ; row 1
if (r = 41) ; If row 41 was reached:
{
r = 1 ; Go back to row 1
column := column + 1 ; Next column
}
c := Chr(column) ; ASCCI to String
cell = %c%%r% ; Cell = e.g. A1, etc.
;if xl.range(cell).Borders(xlEdgeLeft).Color = 0x0000FF ; If border color is red - TYPE CONFLICT!
if xl.range(cell).Borders.Color = 0x0000FF ; If border color is red: - WORKS PARTLY
{
;xl.range(cell).Borders(xlEdgeLeft).Color := 0xFFD700 ; Set blue color - I DOUBT IT WILL WORK!
xl.range(cell).Borders.Color := 0xFFD700 ; Set to blue - WORKS PARTLY
}
if xl.range(cell).Font.Color = 0x0000FF ; If font color is red: - WORKS PARTLY
{
xl.range(cell).Font.Color := 0xFFD700 ; Set to blue - WORKS PARTLY
}
}
return
Как вы можете видеть, я уже попробовал его, если xl.range(ячейка) .Borders (xlEdgeLeft) .Color = 0x0000FF, который, похоже, не работает.Там написано "TYPE CONFLICT".
На этом скриншоте вы видите все удачные настройки цвета (синий).Остальное, которое красное, не изменилось. Результат
Любая помощь будет высоко ценится!