Array
(
)

Acessar CheckBox em planilha excel e retornar seu valor via C Sharp

Anderson Souza
|
MVP
    14 mar 2013

Tentei o seguinte código:

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook wb = excel.Workbooks.Open(CaminhoDoArquivo, 0, true, 5, "", "", false,Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Microsoft.Office.Interop.Excel.Range Range = null;
Microsoft.Office.Interop.Excel.Worksheet ash = null;

foreach (Microsoft.Office.Interop.Excel.Worksheet ws in wb.Worksheets)
{
if (ws.Name.ToString().Trim().Contains("nomedasheet"))
{
Range = ws.UsedRange;
ash = ws;
break;
}
}
ash = (Microsoft.Office.Interop.Excel.Worksheet)excel.Worksheets.get_Item("Folha padrão (SDCD)");
Microsoft.Office.Interop.Excel.Shape aShape;
aShape = ash.Shapes.Item("Check Box 1");
x = aShape.Name;
Object o = aShape.OLEFormat.Object;
aShape = ash.Shapes.Item("Check Box 1");
//////////////////////ATÉ AQUI O CÓDIGO FUNCIONA PERFEITO////////////////////////////////

/////////////////////DAQUI EM DIANTE NÃO CONSIGO ACESSAR O VALOR DA CHECKBOX/////////////////////////
Microsoft.Vbe.Interop.Forms.CheckBox newBox = (Microsoft.Vbe.Interop.Forms.CheckBox)(((Microsoft.Office.Interop.Excel.OLEObject)o).Object);
string x = newBox.Value.Tostring();

Alguns sites consultados:
http://forums.asp.net/t/1244356.aspx/1

Alguém conhece?