2013-10-15 59 views
0

为Excel 2007编写的以下代码将表格范围设置为表格而没有问题。Excel 2003中的表格格式范围

SourceRange.Worksheet.ListObjects.Add(XlListObjectSourceType.xlSrcRange, 
      SourceRange, System.Type.Missing, XlYesNoGuess.xlYes, System.Type.Missing).Name = TableName; 
      SourceRange.Worksheet.ListObjects[TableName].TableStyle = TableStyleName; 
      SourceRange.AutoFilter(1, Type.Missing, XlAutoFilterOperator.xlAnd, Type.Missing, true); 
      if (IsGroupTable) 
      { 
       SourceRange.Rows.Group(Type.Missing, Type.Missing, Type.Missing, Type.Missing); 
      } 

当我尝试使用相同的代码在Excel 2003中,我得到以下错误:

Type : System.Runtime.InteropServices.COMException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
Message : Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND)) 
Source : mscorlib 
Help link : 
ErrorCode : -2147352573 
Data : System.Collections.ListDictionaryInternal 
TargetSite : System.Object ForwardCallToInvokeMember(System.String, System.Reflection.BindingFlags, System.Object, Int32[], System.Runtime.Remoting.Proxies.MessageData ByRef) 
Stack Trace : at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) 
at Microsoft.Office.Interop.Excel.ListObjects.Add(XlListObjectSourceType SourceType, Object Source, Object LinkSource, XlYesNoGuess XlListObjectHasHeaders, Object Destination) 

我不知道是什么原因造成此错误发生,是挽救?

回答

1

的ListObject已经被严重改变向上移动到2007年。我建议你看看changes to ListObject here要弄清楚它是什么您尝试使用2003不支持。

相关问题