如何解决Excel VSTO - 隐藏多列 lambda 函数问题 - VB.NET
我一直试图找出我下面的代码有什么问题,但到目前为止没有成功。 我的简单任务是使用 VSTO / VB.NET 隐藏多个 Excel 列。
这有效:
Dim app As Excel.Application = Globals.ThisAddIn.Application
Dim act_sheet As Excel.Worksheet = app.ActiveSheet
act_sheet.Range("A:A").EntireColumn.Hidden = True
act_sheet.Range("B:B").EntireColumn.Hidden = True
这不起作用:
Dim app As Excel.Application = Globals.ThisAddIn.Application
Dim act_sheet As Excel.Worksheet = app.ActiveSheet
Dim base_hide As New List(Of String)({"A:A","B:B"})
base_hide.ForEach(Function(x) act_sheet.Range(x).EntireColumn.Hidden = True)
编译没有错误,字符串地址被正确获取。有什么想法吗?
谢谢,
解决方法
找到导致问题的原因。使用 Function() 作为 lambda 运行 ForEach 循环会期望返回一些东西。我在函数中的代码永远不会运行。将其更改为 Sub() 可按预期工作。
base_hide.ForEach(Sub(x) act_sheet.Range(x).EntireColumn.Hidden = True)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。