我在c#代码中使用office 2007 excel工作表函数.VS2010发出此警告
警告3方法'Microsoft.Office.Interop.Excel._Worksheet.Activate()'与非方法'Microsoft.Office.Interop.Excel.DocEvents_Event.Activate'之间存在歧义.使用方法组.D:\ EXLANEDB01p\dev\libraries\EXCEL\Excel.cs 531 95 EXCEL
我该如何解决这个问题?电话是
xSheet.Activate();
Run Code Online (Sandbox Code Playgroud)
在xSheet调用中作为ref传递的位置
ref Microsoft.Office.Interop.Excel.Worksheet xSheet
Run Code Online (Sandbox Code Playgroud)
Jef*_*ado 31
您需要消除Activate名称的歧义.在Worksheet界面中,Activate是一个方法(如果被视为一个_Worksheet对象)或一个事件(如果被视为一个DocEvents_Event对象).
Microsoft.Office.Interop.Excel._Worksheet首先将对象转换为然后调用Activate().
((Microsoft.Office.Interop.Excel._Worksheet)xSheet).Activate();
Run Code Online (Sandbox Code Playgroud)
或声明一个新_Worksheet变量并在您的方法中使用它.
_Worksheet sheet = xSheet;
sheet.Activate();
Run Code Online (Sandbox Code Playgroud)
否则,您可以更改方法声明以引用a _Worksheet而不是Worksheet所有关联的声明.
void MyMethod(ref Microsoft.Office.Interop.Excel._Worksheet xSheet)
{
// ...
}
// usage:
_Worksheet sheet = new Worksheet();
MyMethod(ref sheet);
Run Code Online (Sandbox Code Playgroud)