如何将样式应用于Indesign中的文本子字符串?

时间:2013-03-13 17:38:16

标签: vb.net scripting adobe-indesign

如何从我的Cell中选择文本的子字符串,以便我可以应用字符样式?

当我只选择一个角色时,这很好用:

If IsNumeric(para.Contents.ToString.Substring(0, 1)) 
    doc.Selection = para.Characters.ItemByRange(1, 1)
    doc.Selection.Item(1).appliedCharacterStyle = mycharstyle
End If

但如果我尝试选择一系列字符

,则会失败
doc.Selection = myCell.Characters.ItemByRange(72, 76)

错误是

  

对于设置属性'选择无效。预期的对象,对象或idNothingEnum枚举器数组,但已收到(字符,字符,字符,字符,字符)

我认为必须有一些完全不同的技术才能将我的CharacterStyle应用到我的Cell中的文本子串中,但是在搜索了高低之后我还没有发现它。

1 个答案:

答案 0 :(得分:0)

让它与GREP合作。

        app.FindGrepPreferences = idNothingEnum.idNothing
        app.ChangeGrepPreferences = idNothingEnum.idNothing
        app.FindChangeGrepOptions.IncludeFootnotes = False
        app.FindChangeGrepOptions.IncludeHiddenLayers = False
        app.FindChangeGrepOptions.IncludeLockedLayersForFind = False
        app.FindChangeGrepOptions.IncludeLockedStoriesForFind = False
        app.FindChangeGrepOptions.IncludeMasterPages = False
        mycharstyle = doc.CharacterStyles("SK-number1")
        app.ChangeGrepPreferences.AppliedCharacterStyle = mycharstyle
        app.FindGrepPreferences.FindWhat = "(?<=\t)(\d{4}.*~b)"
        doc.ChangeGrep()