html - Excel 将(引号)“转换为 &quote; 而不搞乱 html 链接

标签 html excel vba

我有一个从我们网站导出的 Excel 文件,其中包含引号 ",需要将其替换为 html 实体:

"

这个:

Dimensions are 7" wide by 5" tall.

需要看起来像:

Dimensions are 7" wide by 5" tall

一个简单的 Excel 查找和替换就可以解决问题,但我们也有需要保留的合法引号,因为它们嵌入在 html 链接中,如下所示:

<a href="http://www.daylightcolor.com/csl/index.php?c=11" target="_blank">

如何在不触及 a href 标签内任何引号的情况下查找并替换常规引号?

最佳答案

使用 "(?![^<]*>) 尝试此方法正则表达式将替换后面不跟 > 的双引号:

Sub CallReplMultiple()
Dim ptrn As String, txt As String
Dim regExp As Object

ptrn = """(?![^<]*>)"
Set regExp = CreateObject("VBScript.RegExp")
With regExp
    .Global = True
    .Pattern = ptrn
End With

For i = 1 To ActiveSheet.UsedRange.Rows.Count
  For j = 1 To ActiveSheet.UsedRange.Columns.Count
    ActiveSheet.Cells(i, j) = regExp.Replace(ActiveSheet.Cells(i, j).Value, "&quot;")
  Next j
Next i

End Sub

关于html - Excel 将(引号)“转换为 &quote; 而不搞乱 html 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280684/

相关文章:

javascript - Webpack - 使用不同的 javascript 脚本文件生成多个 HTML 文件

html - 与图像一起调整 hover_mask 的大小

vba - Excel VBA - 如果二维匹配,则需要通过多个工作表实现复制/粘贴值的二维循环逻辑

sql-server - SQL 导入和导出向导

excel - 如何更改 Excel 下拉列表中的字体大小和颜色?

vba - 使用 VBA 在 Excel 中打开嵌入对象

javascript - 网络音频 : Can't get ScriptProcessor node to work in Chrome

javascript - 两个 div FadeIn 和 FadeOut 同时在彼此之上

excel - VBA InStr Excel与Access

excel - 如果满足条件,则删除首字母