【发布时间】:2018-12-06 20:02:13
【问题描述】:
我正在尝试在 Excel 工作簿中搜索特定 char 值并将其替换为其他 char 值。
我可以在 Excel 的 VBA 中执行此操作,但我正在尝试编写一个 add-在 VS 2017 中使用 VSTO。
我的 VBA 代码是:
Sub charFix(control As IRibbonControl)
Cells.Replace What:="^", Replacement:=Chr(11), LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=Chr(10), Replacement:=Chr(11), LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=Chr(13), Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
这就是我尝试的方式,这是非常错误的,哈哈。但我没有收到编译错误,所以我迷路了。
Private Sub charKill_Click(sender As Object, e As RibbonControlEventArgs) Handles charKill.Click
Dim ActiveWorkSheet As Microsoft.Office.Interop.Excel.Worksheet =
Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1)
Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
Globals.Factory.GetVstoObject(ActiveWorkSheet)
Dim cellA1 As Excel.Range = ActiveWorkSheet.replace(Chr(10), Chr(11), Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, False, , False, False)
End Sub
我确定 3rd Dim 语句之前的所有内容都是正确的,并且我确定从 .replace 开始的所有内容都是正确的...我认为问题在于我如何尝试调用它。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
我认为您需要付出更多的努力,而不是这里是我的工作 VBA 代码,现在它在 VB.NET 中会是什么样子,到目前为止您尝试过什么?将您尝试过的 vb.net 代码添加到您的问题中。
-
不,将您的代码添加到您的问题中,因为它与您的原始帖子有关
-
基本上我正在尝试使用与 excel 相同的包,它通过 Visual Studio 中的 vsto 在 vb.net 中的 vba 中查找和替换,但我真的不知道如何使用它。
-
您提到您遇到了错误,错误是什么?将它们添加到您的问题中。
-
我没有收到任何错误,只是 excel 崩溃了。
标签: excel vb.net vba visual-studio vsto