c#代码中的excel复选框

c#代码中的excel复选框,c#,.net,visual-studio-2010,excel-2007,C#,.net,Visual Studio 2010,Excel 2007,我正在使用VS2010C#和Excel2007 以下代码适用于XP操作系统,但不适用于Windows 7 64位操作系统: OLEObject ole = (OLEObject)excelWorksheet.OLEObjects("Checkbox1"); ((Microsoft.Vbe.Interop.Forms.CheckBox)ole.Object).set_Value("true"); 我正在使用Microsoft.Vbe.Interop.Forms.dll。我检查了这个dl

我正在使用VS2010C#和Excel2007

以下代码适用于XP操作系统,但不适用于Windows 7 64位操作系统:

OLEObject ole = (OLEObject)excelWorksheet.OLEObjects("Checkbox1");     
((Microsoft.Vbe.Interop.Forms.CheckBox)ole.Object).set_Value("true");
我正在使用Microsoft.Vbe.Interop.Forms.dll。我检查了这个dll的平台-它是anyCPU。 其他代码工作正常

有人知道为什么吗?
谢谢

您可以使用OpenXml,您可以在Codeplex上找到,也可以使用NuGet软件包管理器。与ExcelInterop类相比,它的使用更加舒适,并且(在我看来)为您提供了更广泛的可能性。

您可以使用OpenXml,您可以在Codeplex或使用NuGet软件包管理器找到它。与excell interop类相比,它的使用更加舒适,并为您提供了更广泛的可能性(在我看来)。

到底什么不起作用以及如何起作用?它会引发异常还是什么?当我在windows7 64位上尝试这段代码时,我得到了“类型或名称空间名称‘复选框’在名称空间‘Microsoft.Vbe.Interop.Forms’中不存在”,这很奇怪,因为intellisense会直接引导我找到它。哦,嘿。我只在即时窗口中收到该消息;在代码中,它工作得很好。嗯,到底是什么不起作用,怎么起作用?它会引发异常还是什么?当我在windows7 64位上尝试这段代码时,我得到了“类型或名称空间名称‘复选框’在名称空间‘Microsoft.Vbe.Interop.Forms’中不存在”,这很奇怪,因为intellisense会直接引导我找到它。哦,嘿。我只在即时窗口中收到该消息;在代码中,它工作得很好。嗯。