SendKeys不捕获所有数据

问题描述 投票:0回答:1

我正在使用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”,但这似乎无法解决问题。

excel vba pdf sendkeys
1个回答
0
投票

您需要转义对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

加号(+),脱字号(^),百分号(%),代字号(〜)和括号()对SendKeys具有特殊含义。要指定这些字符之一,请将其括在大括号({})中。例如,要指定加号,请使用{+}。

© www.soinside.com 2019 - 2024. All rights reserved.