SendKeys 未捕获所有数据

SendKeys Not Capturing all Data

我正在使用 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?

如果没有,有没有办法让sendkeys捕获全文?我尝试添加 "Application.Wait Now + 0.00001" 但这似乎无法解决问题。

需要转义对SendKeys有特殊意义的字符,如%

试试这个:

v = Sheet10.Range("D3").Value

Application.SendKeys Replace(v,"%","{%}"), True

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/sendkeys-statement

The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses ( ) have special meanings to SendKeys. To specify one of these characters, enclose it within braces ({}). For example, to specify the plus sign, use {+}.