1.选中部分文字 添加书签和空白处添加书签
function setSealLabel(sealInfo){
var tmpArr = sealInfo.split("=");
var sealId = tmpArr[0];
var sealName = tmpArr[1]; //内容
var bkName = "PO_"+sealName;//书签名称
var selectText = "";
var drlist = document.getElementById("PageOfficeCtrl1").DataRegionList;//获取Word文件中的数据区域列表
drlist.Refresh();
var bkValue = "";
try {
var dr1 = drlist.DataRegionByNameExists(bkName);//根据数据区域的名称判断数据区域是否存在
if(!dr1){
// document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Collapse(0);//在后面连续添加
selectText = document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Text;
document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Text = "";
if(selectText != "" && selectText!=null){
bkValue= selectText;
}else{
bkValue=sealName;
}
drlist.Add(bkName, bkValue);
return "true";
}else{
//已存在
drlist.GetDataRegionByName(bkName).Locate();
document.getElementById("PageOfficeCtrl1").Activate();
window.focus();
alert("书签已存在,不可重复添加");
return "false";
}
} catch (e) {
return "false";
}
}
演示
1.选中文字添加书签
2.空白处添加书签
2.删除 有内容的书签 和空白处的书签
function deleteSealLabel(sealName){
var selectText = "";
var drlist = document.getElementById("PageOfficeCtrl1").DataRegionList;
try {
var delName = "PO_"+sealName; //书签名称
var dr1 = drlist.DataRegionByNameExists(delName);//根据数据区域的名称判断数据区域是否存在
if(dr1==true){
locateBK(delName);//定位到此书签处
selectText = drlist.GetDataRegionByName(delName).Value;//如果存在,则根据数据区域的名称得到这个数据区的文本内容
drlist.Delete( delName );
if(selectText != sealName){
document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Text = selectText;
}
}
return "true";
} catch (e) {
return "false";
}
}
演示
1.删除 内容处添加的书签
2.添加空白处添加的书签