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);