【问题标题】:Using " as a character in a statement [duplicate]在语句中使用“作为字符[重复]
【发布时间】:2018-10-04 22:43:59
【问题描述】:

您好,我正在尝试在我的代码中使用 " 作为字符,但 VBA 总是将其自动更正为多余的字符(例如,如果我尝试使用 """)。我尝试使用 Char(34) 字符代码但它仍然不起作用。我想遍历单元格并在单元格中搜索值,例如“ActiveCell.Value”,但代码无法将“”识别为字符。代码如下:

Sub zero()

Do Until IsEmpty(ActiveCell.Value)

Shell ("C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe -url https://www.google.co.uk/search?q=" & Chr(34) & ActiveCell.Value & Chr(34))

ActiveCell.Offset(1).Select

Loop

End Sub

【问题讨论】:

  • 您需要将引号加倍以在 VBA 中对它们进行转义,因此 doubleQuotes = """" 分配了一个双引号字符,实际上是 Chr(34)。 “但它不起作用”不是我们可以使用的有用的问题描述。它是如何失败的?
  • 你能告诉我们Debug.Print "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe -url https://www.google.co.uk/search?q=" & Chr(34) & ActiveCell.Value & Chr(34) 返回什么吗?
  • 这段代码对我来说 100% 没问题。你得到一个错误,不正确的结果?究竟是什么问题?

标签: vba excel


【解决方案1】:

您需要在 VBA 字符串中使用 四个 兔耳朵作为单引号字符。

因此我定义

Public Const vbQuote As String = """"

并以这种方式使用

"https://www.google.co.uk/search?q=" & vbQuote & ActiveCell.Value & vbQuote

【讨论】:

  • 谢谢这个方法有效,实际上我是被一个没有 SO 帐户的同事要求发布的,这就是为什么我无法明确定义问题所在。
猜你喜欢
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 2016-11-14
  • 2018-11-10
  • 2013-04-29
相关资源
最近更新 更多