c# Excel互操作合并不工作

本文关键字:工作 合并 互操作 Excel | 更新日期: 2023-09-27 18:09:55

我定义了一个范围:

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在System.RuntimeType。ForwardCallToInvokeMember(String memberName, BindingFlags, Object target, Int32[] aWrapperTypes, MessageData&msgData)在Microsoft.Office.Interop.Excel.Range。合并(对象)

我看不懂。

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

谢谢你的帮助帕特里克。

c# Excel互操作合并不工作

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

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