将粗体文本转换为蓝色

Adr*_*ova 2 google-docs google-apps-script

我创建了很多Google Docs文档,我必须以粗体和蓝色手动格式化文本.要以粗体格式化文本的某些部分很容易,因为有一个快捷方式(Ctrl + B),但很难着色(需要2次点击).如果我点击菜单中的按钮(由Google Apps脚本创建)并将所有文本格式化为蓝色(保留粗体),该怎么办?


一个例子:如果我们有" Hello wo rld",我想将" Hello wo "部分成蓝色.

谢谢你:D

小智 5

虽然您无法通过自定义菜单执行此操作,但您可以通过创建独立的应用程序脚本并在将元素设置为粗体后按文档ID在文档上运行该脚本来执行此操作.以下代码打开一个doc,获取文本格式更改的标记,循环显示这些标记以查看它是否更改为粗体,然后将以下部分的颜色设置为蓝色.这段代码将帮助您入门,但您需要使用它来消除边缘情况.

function boldToBlue() {
  // replace with your doc ID
  var doc = DocumentApp.openById('1vfxetEhzOTXm_r9f-GanM4mSTwSkWrRsrgVsCy5laKU');
  var docText = doc.editAsText();
  var idc = docText.getTextAttributeIndices(); // gets text indicies where formatting changes

  // loop through formatting changes. If changes -> bold, make next section also blue
  for (var i = 0; i < idc.length-1; i++) {
    if (docText.isBold(idc[i])) {
      docText.setForegroundColor(idc[i], idc[i+1]-1, '#00FFFF');
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我通过您的问题文本运行代码作为示例:

之前: 在图像之前

后: 在图像之后