0
var selectedElements = selection.getSelectedElements();
for (var i = 0; i < selectedElements.length; ++i) {
var selectedElement = selectedElements[i];

// Only modify elements that can be edited as text; skip images and other
// non-text elements.
var text = selectedElement.getElement().editAsText();

// Change the background color of the selected part of the element, or the
// full element if it's completely selected.
if (selectedElement.isPartial()) {
  text.setColor(selectedElement.getStartOffset(),
      selectedElement.getEndOffsetInclusive(), '#69359c');
    }
  }
}

上記のテキストは、Google ドキュメント内の選択を取得し、それを 16 進数コード #69359c (濃い紫) に変更します。私は多くの Web サイト、多くの git を検索し、多くの友人にプロジェクトの支援を求めてきました。

私の最終プロジェクトはこれです:

  1. セレクターで Google Docs のメニューを作成する (DONE)
  2. 一定量のテキストを強調表示し、色の配列に変更できる (ROY G. BIV / 虹)。
  3. 形式は Google ドキュメント専用にします。

誰かが私を助けることができれば、それは非常に高く評価されます.

4

2 に答える 2

1

この質問を見つけたので、Rainbow Font Google Docs アドオン ( Magic Rainbow Unicorns ) から動作するコードを提供させていただきます。

1 つ目の問題は、テキストの前景色を設定する必要があることです。2 つ目の問題は、上記のコードでは段落の一部しか選択できないことです。

全体を選択するには、次のコードを使用します。

var elementText = element.editAsText();
if (elementText) {
  var paragraph = elementText.getText();
  for (var j = 0; j < paragraph.length; j++) {
    elementText.setForegroundColor(j, j, getNextRainbowColour(...));
  }
}

部分選択には、これを使用しました:

var elementText = element.asText();
var startIndex = element.getStartOffset();
var endIndex = elements.getEndOffsetInclusive();
for (var j = startIndex; j < endIndex+1; j++) {
  elementText.setForegroundColor(j, j, getNextRainbowColour(...));
}
于 2017-12-07T06:52:06.897 に答える
0

あなたはすでに答えにかなり近づいています。「テキスト」変数内の要素を反復処理して、それぞれの背景を変更できるようにしてください。

次のようなものを使用して、各文字を反復処理できます。

var letters =  elementText.getText();
for(var j = 0 ; j< letters.length-1; j++)
{
     elementText.setBackgroundColor(j, j+1, getRandomColor())
}

さまざまな色を使用する関数のサンプルを次に示します。

function getRandomColor() {
   var letters = '0123456789ABCDEF'.split('');
   var color = '#';
   for (var i = 0; i < 6; i++ ) 
   {
       color += letters[Math.floor(Math.random() * 16)];
   }
   return color;
}

最後の質問ですが、Text クラスは Javascript の一部ではなく、app-script ライブラリの一部であるため、これは Google 環境以外では機能しません。

于 2014-12-09T18:56:04.053 に答える