使用jacob操作书签替换文本信息,在本地电脑调试没有问题,部署到服务器上面提示:
com.jacob.com.ComFailException: Invoke of: Text
Source: Microsoft Word
Description: 不允许您编辑此所选内容,因为它受保护。
有人知道什么原因吗?
office版本:
if (bookMarkKey.equals("FILE_NUMBER")) {//文件编号
Dispatch items = Dispatch.call(book_marks, "Item", bookMarkKey).toDispatch();
Dispatch range = Dispatch.get(items, "Range").toDispatch();
String bookMarkValue = String.valueOf(Dispatch.get(range, "Text").getString()).replaceAll("null", "");
Dispatch.put(range, "Text", new Variant(fileNumber));//替换文字
Dispatch font = Dispatch.get(range, "Font").toDispatch();
Dispatch.put(font, "Name", new Variant("Times New Roman"));//设置字体,只能设置系统中存在的字体
Dispatch.put(font, "Size", 12f);//设置字体大小
}
自己找到原因了:需要在选项里去掉已阅读模式打开选项
一般来讲,通过如下方法,只是获取到当前的报名而非发送者包名,并非期望结果:
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "---onReceive: " + intent.getComponent() == null ? "null" : intent.getComponent().getPackageName());
}