C#Excel互操作合并不能正常工作

我已经定义了一个范围:

Range range = ws.Range[ws.Cells[7, 1], ws.Cells[7, 4]]; 

并与之核对

 range.Interior.Color = rgbBlueViolet; 

所以范围是正确的,因为我看到它的颜色。

但是当我这样做

 range.Merge(true); 

我得到以下例外:

{System.Runtime.InteropServices.COMException(0x800A03EC):在Microsoft.Office.Interop.Excel中System.RuntimeType.ForwardCallToInvokeMember(stringmemberName,BindingFlags标志,对象目标,Int32 [] aWrapperTypes,MessageData和msgData)上HRESULT:0x800A03ECexception。 Range.Merge(Object Across)

这我不明白。

我的目标是合并前四列,看看哪些对我来说似乎是合法的。

谢谢你的帮助帕特里克

好的,问题是要合并的范围必须先select。 而要做到这一点,工作表不能被最小化。 因此代码是:

 Application app = new Application(); app.Visible = false; app.WindowState = XlWindowState.xlNormal; <---not minimized ... Range r = ws.Range[ws.Cells[row + 7, 1], ws.Cells[row + 7, 5]]; r.Select(); <-----necessary r.Merge(false);