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):来自HRESULT的异常:System.RuntimeType.ForwardCallToInvokeMember(String memberName,BindingFlags flags,Object target,Int32 [] aWrapperTypes,MessageData&msgData)在Microsoft.Office.Interop.Excel中为0x800A03EC。 Range.Merge(跨对象)

我不明白。

我的目标是合并前4列,在我看来这是合法的。

谢谢您的帮助Patrick

帕特里克

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章