OleProcedure()C ++ Builder 10.3

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

我尝试用C ++ Builder在Word文档中选择10个字符。

VBA方法如下:

Selection.SetRange Start:=0, End:=10

如何正确地将参数传递给C ++ Builder方法?

我尝试了几种选择,但没有成功。

selection.OleProcedure("SetRange", Start:=0, End:=10)
selection.OleProcedure("SetRange", "Start:=0", "End:=10")
selection.OleProcedure("SetRange", 0, 10)
com c++builder ole
1个回答
2
投票

OleProcedure()不支持命名参数1.您必须按照COM对象的they are declared顺序传递参数值,在本例中为:

expression.SetRange(Start, End)

所以selection.OleProcedure("SetRange", 0, 10)应该工作得很好。如果不是,您需要更具体地确定哪些不适合您。

1:如果要使用命名参数,则必须访问变量的持有IDispatch接口并直接调用其IDispatch::Invoke()方法,为其提供包含所需名称和值的DISPPARAMS结构。

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