C# 在Excel2007中用C打开XLSX文件之前,有没有办法抑制“名称冲突”对话框?

C# 在Excel2007中用C打开XLSX文件之前,有没有办法抑制“名称冲突”对话框?,c#,excel,popup,worksheet,C#,Excel,Popup,Worksheet,我在用C代码打开xlsx工作簿时遇到了一个问题 问题: 打开xlsx时会出现一个弹出窗口,用户希望对此进行确认 原因: pop的原因是已知的,因为这是已知的问题 可能的解决方案:需要自动并抑制此弹出窗口,因此无需手动干预 在VB中引用一个这样的解决方案: 向论坛提出的问题: 上述解决方案是基于VB的。我正在C*中寻找这样的解决方案,重要的是**查询是如何在代码中检测这样的弹出窗口 调用:工作簿。打开。。。。。。 它也不是例外,也没有返回值 在打开文件之前,有没有办法提前找到此类弹出窗口?该链接

我在用C代码打开xlsx工作簿时遇到了一个问题

问题: 打开xlsx时会出现一个弹出窗口,用户希望对此进行确认

原因: pop的原因是已知的,因为这是已知的问题

可能的解决方案:需要自动并抑制此弹出窗口,因此无需手动干预

在VB中引用一个这样的解决方案:

向论坛提出的问题:

上述解决方案是基于VB的。我正在C*中寻找这样的解决方案,重要的是**查询是如何在代码中检测这样的弹出窗口

调用:工作簿。打开。。。。。。 它也不是例外,也没有返回值


在打开文件之前,有没有办法提前找到此类弹出窗口?

该链接显示的不是VB.NET代码,而是VBA代码。 对于此代码,您必须准备好打开XLSX文档

但在你打开文件之前我无法找到它

一条路,不是好路。要查看xlsx文件,它是一个zip归档文件,找到位置并将其删除。您可以尝试使用Microsoft的OpenXMLSDK删除定义的名称

在这里可以找到OpenXML SDK for Excel的说明:


我希望它能帮上一点忙

我在一个工作簿中遇到了同样的问题,该工作簿通过C动态填充并过滤一些数据

执行此VBA代码后:

On Error Resume Next
With Workbook("YourWokrbookName")
  .Names("_FilterDatabase").Delete
  .Names("Criteria").Delete
  .Names("Extract").Delete
End With
On Error GoTo 0
我发现并适应了我的使用,我再也没有得到命名确认消息框。
只需删除工作表中的_FilterDatabase对象。这可能不是在所有情况下都有用,但在我的情况下,这并没有什么不同。

您好,Andreas,有没有办法在打开文件并填充数据和C代码本身确定后检测此弹出窗口。现在用户必须查找弹出窗口并输入一些数据重命名过滤器数据,然后弹出窗口消失。不管是否抑制弹出窗口,自动处理弹出窗口也会很好。与VBA代码陷阱错误不同,我无法找到C如何感知这个弹出窗口。