我正在使用VBA代码从excel中获取数据,并通过使用SendKeys填充pdf。这适用于我所有数据的99%,但是我注意到在某些情况下,来自excel的数据并未完全传输到PDF。
例如,在单元格D3中,我有文本“ 17.04%/ 17.84%”(请注意-这是一个文本字段,因此减去引号,这正是文本的格式)。
当我运行此代码时:
Application.SendKeys Sheet10.Range("D3").Value, True
Application.Wait Now + 0.00001
结果为“ 17.04”,保留百分比符号和文本的另一半。
我知道sendkeys是有问题的,因此,有没有其他方法可以将excel数据传输到pdf?
如果没有,是否有办法让sendkey捕获全文?我尝试添加“ Application.Wait Now + 0.00001”,但这似乎无法解决问题。
您需要转义对SendKeys具有特殊意义的字符,例如%
尝试一下:
v = Sheet10.Range("D3").Value
Application.SendKeys Replace(v,"%","{%}"), True
加号(+),脱字号(^),百分号(%),代字号(〜)和括号()对SendKeys具有特殊含义。要指定这些字符之一,请将其括在大括号({})中。例如,要指定加号,请使用{+}。