C# Excel 互操作合并不工作

C# Excel interop merge not working

我定义了一个范围:

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

并用

检查
range.Interior.Color = rgbBlueViolet;

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

但是当我这样做的时候

range.Merge(true);

我得到以下异常:

{System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) at Microsoft.Office.Interop.Excel.Range.Merge(Object Across)

我看不懂。

我的目标是将前 4 列合并在一起,这对我来说似乎是合法的。

感谢您的帮助 帕特里克

好的,问题是必须先选择要合并的范围。为此,工作表不能最小化。因此代码是:

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