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
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 {+}.
我正在使用 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
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 {+}.