var doc = Api.GetDocument(); // 获取文档对象
var paras = doc.GetParagraphs(); // 获取文档中的所有段落
// 遍历段落
for (var i = 0; i < paras.Count; i++) {
var para = paras.GetByIndex(i); // 获取段落
var text = para.GetText(0, false); // 获取段落文本,第二个参数false表示不包含格式信息
// 检查段落是否以“第X条”开头
if (/^第\d+条/.test(text)) {
// 设置字体为黑体
var start = 0;
var end = text.search(/\d+条/);
para.GetRange(start, end).SetFontName("黑体"); // 设置字体
}
}
非常感谢您的回复,不过你的指令现在应该不用了,我换了个写法,但只能整行选择,不知道能否指点一下?
function d (){
var doc=Application.ActiveDocument;
var paras=doc.Paragraphs;
for (var i=2;i<paras.Count;i++){
var para=paras.Item(i);
var text=para.Range.Text;
start=text.search ('第');//找到每一段的“第”字,一般为0
end=text.search('条');//找到每一段的“条”字,为2或3
if (start>2 || start==-1){continue;}//如果第字不在开头或者不存在,就跳过
para.Range.Select();//把这段选起来
para.Range.SetRange(start,end+1);//本意是想把前面“第X条”几个字选起来,但不成功,应该怎么写?
//Selection.Font.Name='黑体';
}
}