OleProcedure() C++ Builder 10.3
OleProcedure() C++ Builder 10.3
我尝试使用 C++ Builder 在 Word 文档中 select 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)
OleProcedure()
不支持 命名参数 1。您必须按照 COM 对象 they are declared 相同的顺序传递参数值,在本例中为:
expression.SetRange(Start, End)
所以 selection.OleProcedure("SetRange", 0, 10)
应该可以正常工作。如果不是,您需要更具体地说明什么对您不起作用。
1:如果你想使用命名参数,你将必须访问变体持有的 IDispatch
接口并调用其包含所需名称和值的 IDispatch::Invoke()
method directly, providing it with a DISPPARAMS
结构。
我尝试使用 C++ Builder 在 Word 文档中 select 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)
OleProcedure()
不支持 命名参数 1。您必须按照 COM 对象 they are declared 相同的顺序传递参数值,在本例中为:
expression.SetRange(Start, End)
所以 selection.OleProcedure("SetRange", 0, 10)
应该可以正常工作。如果不是,您需要更具体地说明什么对您不起作用。
1:如果你想使用命名参数,你将必须访问变体持有的 IDispatch
接口并调用其包含所需名称和值的 IDispatch::Invoke()
method directly, providing it with a DISPPARAMS
结构。