我想制作任何 2007+ 办公室都支持的办公室插件。为不同的办公室设置不同的加载项版本似乎是不可能的,所有办公室都从同一个注册表项加载加载项信息。所以我决定使用netoffice。
现在当我使用ContentControl.SetPlaceholderText(null, null, "some text")
我得到DISP_E_TYPEMISMATCH
异常。根据这个原因,IDL 定义写得不好:指针的整数默认值。有趣的是,如果第一个参数不为空,那么第三个参数将被忽略。
我试过通过Missing.Value
。
当我尝试使用我的自定义活页夹时
contentControl.InstanceType.InvokeMember("SetPlaceholderText",
BindingFlags.InvokeMethod,
new MyBinder(),
contentControl.UnderlyingObject,
new object[] { null, null, placeholder });
MyBinder
从未调用方法。
ContentControl
有PlaceholderText
属性,有Value
. Value
根据文档是读/写属性,但是当我将值写入其中时它是只读的。
那么如何设置占位符呢?