如何使用 C# 从 Excel 工作表中删除 VB 代码?

2024-04-16

有谁知道怎么删除all使用 C# 的 VB 代码形成 Excel 工作簿? 这段代码不起作用。它删除第一个(最后一个)VBComponent,但在第二个VBComponent上引发ArgumentException。

VBProject project = workbook.VBProject;
int componentsCount = project.VBComponents.Count;

for (int i = componentsCount; i >= 1; i--)
{
    VBComponent component = project.VBComponents.Item(i);
    project.VBComponents.Remove(component);
} 

有什么建议么?


我在 Sam 的帮助下解决了这个问题。我怀疑每个 Excel 工作簿都有一些不可删除的 VBComponent,因此我们可以清除其内容,而不是删除它们。现在可以了。谢谢你萨姆。

VBProject project = workbook.VBProject;

for (int i = project.VBComponents.Count; i >= 1; i--)
{
    VBComponent component = project.VBComponents.Item(i);
    try
    {
        project.VBComponents.Remove(component);
    }
    catch(ArgumentException)
    {
        continue;
    }
}

for (int i = project.VBComponents.Count; i >= 1; i--)
{
    VBComponent component = project.VBComponents.Item(i);
        component.CodeModule.DeleteLines(1, component.CodeModule.CountOfLines);
}

之后不要忘记保存您的工作簿

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# 从 Excel 工作表中删除 VB 代码? 的相关文章

随机推荐

  • Javascript 专注于 DIV 元素在 chrome 上不起作用

    您好 我想在页面加载后立即关注 div 它在 Firefox 上工作得很好 但在 chrome 上却不行 它不起作用 这是我的代码 https jsfiddle net 9yb2boxn https jsfiddle net 9yb2box
  • 使用 pandas 识别最近的物体

    我有一个可以使用任何编程语言完成的作业 我选择了Python和pandas 因为我几乎没有使用它们的经验 并且认为这将是一个很好的学习经历 我能够使用我从传统计算机编程中了解到的传统循环来完成作业 并且它在数千行上运行得很好 但是一旦我让它
  • 错误消息的顺序不正确

    在我的 Spring MVC 验证中 错误消息的顺序随机变化 我希望消息的顺序与页面上显示的顺序相同 我的 AccountForm java 类如下所示 NotNull message Account name cannot be empt
  • 目前不支持公式映射 - Hibernate ORM Envers

    我使用 Hibernate Envers Entity Table name user Audited class User private String id Formula SELECT name FROM other c where
  • & 后接 * 运算符的行为

    我对地址运算符后跟解引用运算符的行为有疑问 我们看一下表达式 p where p属于类型int C11 标准 第 6 5 3 2 节 规定 一元 运算符产生其操作数的地址 如果操作数的类型为 类型 结果的类型为 指向 类型 如果操作数是一元
  • mongodb C# 驱动程序中 InsertBatch 方法的最佳批量项目计数是多少?

    我听说大批量并不能真正提供任何额外的性能 什么是最优的 如果您调用 Insert 一次插入一个文档 则每个文档都会有一次网络往返 如果您调用 InsertBatch 批量插入文档 则每个批次 而不是每个文档 都会有一个网络往返 Insert
  • 在 RTC 中交付后如何丢弃更改集

    我意外地交付了更改集 其中包括一些在 RTC 中具有本地系统特定配置的附加配置文件 有没有办法在交付后放弃这些更改 我的意思是 这些变化不应该随着其他团队成员的变化而发生 如果有的话请提供任何指示 有没有办法在交付后放弃这些更改 不完全是
  • 添加Where 子句时会出现什么问题?

    我有一个简单的查询 Select Distinct BOLTYPENAME BOLTYPE BOLTYPE From BOLTYPE Inner Join WORKORDER on WORKORDER BOLTYPE BOLTYPE BOL
  • 根据javascript中深度嵌套对象中的值过滤数组

    我有具有以下结构的数组 var topics id 1 name topic title 1 sub categories id 1 name category title 1 indicators id 1 name indicator
  • Swift 的 Decimal 精度问题

    根据文档here https developer apple com documentation foundation decimal Swift 3 4 Decimal 类型是以 10 为基数桥接到 NSDecimalNumber 的表示
  • 如何将 Get-WMIObject 查询中的数据解析为字符串?

    我有以下代码行 get wmiobject class win32 computersystem select object username 它返回 用占位符编辑 username DOMAIN jsmith 需要做什么来删除填充并给我一
  • ActiveRecord“销毁”方法在 Ruby on Rails 中返回布尔值?

    我正在使用 Ruby on Rails 3 我想知道什么类型的返回将具有以下代码 user destroy 我需要它来处理案件success and fault以这样的方式 if user destroy puts True else pu
  • 在 Azure Web 应用程序上找不到证书

    我将 Web 应用程序部署为 Azure 应用服务上的 Web 应用程序 我将一些证书上传到 Azure 门户 因为 Web 应用程序通过 SSL 运行 并且我们使用另一个证书来执行一些解密 对于后一种情况 我有一种方法 在本地工作正常 来
  • 我应该将“orderby group.key”放在这个 LINQ 语句中的什么位置?

    这段代码 string words car boy apple bill crow brown var groups from w in words group w by w 0 into g select new FirstLetter
  • 如何区分刷新触发的Unload事件还是窗口关闭触发的Unload事件?

    刷新操作和窗口关闭操作都可以触发卸载事件 有没有办法区分实际触发它的操作 在我的情况下 我想忽略刷新操作 您能给我一些解决办法吗 我注意到已经有这种question https stackoverflow com questions 568
  • 在 WinForm 上禁用最小化和最大化?

    WinForms 在右上角有三个框 分别用于最小化 最大化和关闭窗体 我想要做的是删除最小化和最大化 同时保持关闭 我还想使关闭最小化表单而不是关闭它 如何才能做到这一点 The Form有两个属性称为MinimizeBox and Max
  • 如何检查何时为特定 dag 安排了下一次 Airflow DAG 运行?

    我已设置气流并运行一些 DAG 安排每天一次 0 0 我想检查下次计划运行特定 dag 的时间 但我看不到可以在管理员中执行此操作的位置 如果你愿意 你可以使用Airflow s CLI 有next execution option htt
  • 如何在 gcc 内联汇编中声明和初始化局部变量而不使用扩展内联 asm?

    我知道这是一个非常基本的问题 但我真的很困惑 事实上我绝对是 GCC 语法的新手 我想要拥有局部变量 带有标签的堆栈地址 而不使用扩展内联汇编 类似 Intel 语法中的以下代码 DATA1 DB 100 MOV AL DATA1 我猜这是
  • MySQL / 经典 ASP - 参数化查询

    在绝对紧急的情况下 我正在尝试浏览我的网站并添加参数化查询 我是新手 刚刚了解它们 我的问题是 我对连接类型知之甚少 并且我看到的所有示例都使用另一种连接方法 这让我感到困惑 我并不是特别想改变连接到数据库的方式 因为它位于很多页面上 我只
  • 如何使用 C# 从 Excel 工作表中删除 VB 代码?

    有谁知道怎么删除all使用 C 的 VB 代码形成 Excel 工作簿 这段代码不起作用 它删除第一个 最后一个 VBComponent 但在第二个VBComponent上引发ArgumentException VBProject proj