我尝试使用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)
答案 0 :(得分:2)
OleProcedure()
不支持命名参数 1 。您必须以与COM对象they are declared相同的顺序传递参数值,在这种情况下为:
expression.SetRange(Start, End)
因此selection.OleProcedure("SetRange", 0, 10)
应该可以正常工作。如果不是,那么您需要更确切地说明到底什么对您不起作用。
1:如果要使用命名参数,则必须访问该变量的保留的IDispatch
接口并直接调用其IDispatch::Invoke()
方法,并为其提供一个DISPPARAMS
包含所需名称和值的结构。