【问题标题】:Convert text in bold to blue将粗体文本转换为蓝色
【发布时间】:2012-11-26 21:54:56
【问题描述】:

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


举个例子:如果我们有“Hello world”,我想将“Hello wo”部分染成蓝色。

谢谢你:D

【问题讨论】:

    标签: google-apps-script google-docs


    【解决方案1】:

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

    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');
        }
      }
    }
    

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

    之前:

    之后:

    【讨论】:

    • 谢谢! :-) 完美运行 :D 我认为不可能做到这一点...我花了 1 小时阅读 Google Apps 脚本文档,但我无法很好地理解它。
    【解决方案2】:

    自定义菜单目前在 Google 文档中不可用。您可以提交功能请求here

    【讨论】:

    • 谢谢你 Waqar Ahmad :-) 我会发送请求。
    猜你喜欢
    • 1970-01-01
    • 2020-01-09
    • 2019-07-27
    • 2017-12-18
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多