类似SQL的';%';在vba HTTP请求中

类似SQL的';%';在vba HTTP请求中,sql,excel,vba,salesforce,soql,Sql,Excel,Vba,Salesforce,Soql,我试图在Excel中的宏中运行对Salesforce REST API的SOQL查询。我正在使用LIKE语句检查是否存在具有相同域的任何电子邮件地址,如下所示: q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%@domain.com' 这只是HTTP请求的参数,域是一个占位符 当我使用Postman运行完全相同的请求时,我从服务器得到正确的响应,但是在Excel中我得到错误400错误请求 当删除%时,它接受请求,但显然没有找到任何条目,因为它正在查

我试图在Excel中的宏中运行对Salesforce REST API的SOQL查询。我正在使用LIKE语句检查是否存在具有相同域的任何电子邮件地址,如下所示:

q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%@domain.com'
这只是HTTP请求的参数,域是一个占位符

当我使用Postman运行完全相同的请求时,我从服务器得到正确的响应,但是在Excel中我得到错误
400错误请求

当删除
%
时,它接受请求,但显然没有找到任何条目,因为它正在查找确切的字符串
“@domain.com”


vba中的
%
-符号是否存在任何已知问题?或者其他建议问题出在哪里?

问题不在于VBA,而在于您的HTTP查询。您需要转义百分号(
%
),这是一个特殊字符。我猜邮递员在幕后为你做这件事

因此,请尝试:

q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%25@domain.com'
见:

如果这还不足以使查询成功,您还可以转义arobas符号(
@
):


非常感谢你,我就知道是这样愚蠢的事情!欢迎@Carl!有时候4只眼睛比2只好。。。干杯
q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%25%40domain.com'