【问题标题】:Unwanted Linebreak in VBA-VariableVBA 变量中不需要的换行符
【发布时间】:2018-03-05 10:58:00
【问题描述】:

我几乎是 VBA 和 Access 的新手,我开始有点沮丧。

我正在开发一个计算奖品的程序,因此我得到了包含必要信息的 HTML 数据,这些信息分为以下几部分:

strHTML = GetHTML(HTML)
List() = Split(strHTML, Chr(10))

为了清楚起见,我为此选择的 HTML 行如下所示:

Motortyp=SM132
Motortypreihe=SM
MotorBG=132
MotorFE=35
MotorZusatz1=B
MotorZusatz2=
ReglerTyp=Fremdregler

到目前为止一切顺利。 整个齿轮描述(例如“SM200.15C”)是立即获取的,并且不知何故之后仍然存在一种换行符,这导致我无法在查询中使用它。

似乎我以某种方式拆分 HTML 的换行符仍然存在,它只是不想被诸如 Replace([Data], Chr(10). "") 之类的东西替换。

希望这个问题是可以理解的,因为我今天有一些大脑滞后。

提前致谢, 丹尼斯

【问题讨论】:

  • 尝试用这个替换:Replace(Value, vbLf & vbCr, vbNullString)
  • 替换(值,vbNewLine,vbNullString)

标签: vba ms-access replace line-breaks


【解决方案1】:

在 Windows 上,换行符是通过回车 Chr(13) 和换行 Chr(10) 字符的组合获得的。使用

List() = Split(strHTML, vbCrLf)

其中vbCrLf 是表示这对字符的VB 常量。

【讨论】:

  • 正确,虽然我会说它“回车 Chr(13) 和换行 Chr(10) 的组合”,以匹配它们出现的正确顺序(这是 crlf,不是 lfcr)。
  • 谢谢@Heinzi。我依稀记得必须以 10+13 的顺序提供它们,比如 MS Access,但这可能只是一个历史文物,一个古老的怪癖。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 2015-04-23
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多