Excel: получить цвет ячейки - PullRequest
       23

Excel: получить цвет ячейки

4 голосов
/ 25 февраля 2011

1) Как получить цвет ячейки с помощью макроса Excel?Я не мог заставить эту функцию работать:

Sub BGCol(MRow As Integer, MCol As Integer)  
bgColor = Cells(MRow, MCol).Interior.ColorIndex  
End Sub

2) В ячейке x, y я хочу получить следующую формулу:

=BGCol(x,4)

Итаккак получить текущий индекс строки?

Ответы [ 3 ]

8 голосов
/ 17 мая 2012
Function GetColor(Mycell As Range)

    GetColor = Mycell.Interior.ColorIndex

End Function

::: Использовать формулу :: = GetColor (х4)

6 голосов
/ 25 февраля 2011

Вы должны использовать функцию:

Function BGCol(MRow As Integer, MCol As Integer)  As Integer
   BGCol = Cells(MRow, MCol).Interior.ColorIndex  
End Function
0 голосов
/ 17 ноября 2018

Кроме того, если вы не хотите использовать макросы или VBA, вы можете получить Цвет ячейки , используя Aspose.Cells API.

ЯчейкаЦвет или Цвет заливки ячейки представлен как

  • Cell> Style> ForegroundColor

Цвет шрифта ячейки равенпредставлены

  • Ячейка> Стиль> Шрифт> Цвет

Пример файла Excel, используемого внутри кода

Пожалуйстарассмотрим следующий образец файла Excel, показанный внутри снимка.Здесь ячейка C4 заполнена желтым цветом и цветом шрифта Red .

enter image description here


Следующий код в C # и Java загружает образец файла Excel, как показано выше, и обращается к ячейке C4 и ее объекту Style.Затем он печатает цвет заливки ячейки, например Желтый и цвет шрифта ячейки, например Красный .

См. Также Консольный вывод , приведенный ниже, и прочитайте Комментарии внутри кода для большего понимания.

C #

// Directory path for input Excel file.
string dirPath = "D:/Download/";

// Load the input Excel file inside workbook object.
Aspose.Cells.Workbook wb = new Workbook(dirPath + "SampleExcelColor.xlsx");

// Access first worksheet.
Worksheet ws = wb.Worksheets[0];

// Access cell C4 by name.
Cell cell = ws.Cells["C4"];

// Access cell style.
Style st = cell.GetStyle();

// Print fill color of the cell i.e. Yellow.
// Please note, Yellow is (R=255, G=255, B=0)
Console.WriteLine(st.ForegroundColor);

// Print font color of the cell i.e. Red.
// Please note, Red is (R=255, G=0, B=0)
Console.WriteLine(st.Font.Color);

Консольный вывод - C #

Color [A=255, R=255, G=255, B=0]
Color [A=255, R=255, G=0, B=0]

Java

// Directory path for input Excel file.
String dirPath = "D:/Download/";

// Load the input Excel file inside workbook object.
com.aspose.cells.Workbook wb = new Workbook(dirPath + "SampleExcelColor.xlsx");

// Access first worksheet.
Worksheet ws = wb.getWorksheets().get(0);

// Access cell C4 by name.
Cell cell = ws.getCells().get("C4");

// Access cell style.
Style st = cell.getStyle();

// Print fill color of the cell i.e. Yellow.
// Please note, Yellow is (R=255, G=255, B=0)
System.out.println(st.getForegroundColor());

// Print font color of the cell i.e. Red.
// Please note, Red is (R=255, G=0, B=0)
System.out.println(st.getFont().getColor());

Консольный вывод - Java

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