特にすべてのスーツシンボルをドキュメント全体に色付けするために、検索と置換を自動化するにはどうすればよいですか?
ブリッジの記事(カードゲーム)を作成し、このフォーマットを常に自動化する必要があります。
すべての「♣」を見つけて、緑色にします。すべての「♦」を見つけて、オレンジ色にします。すべての「♥」を見つけて、赤で塗りつぶします。すべての「♠」を見つけて、青に色付けします。
スクリプトにとても感謝しています!ありがとう。
Ps:スーツのシンボルを取得するには、次を押します。
そのヒントをありがとうUser0。 Wordで私が求めていることをマクロで実行したい人がいたら、それをあなたに送ることができます。
書式設定で検索と置換を行うには、Google Apps Scriptを使用する必要があります。すでにGASに精通していることを前提としていますが、そうでない場合は、この投稿にコメントを返信してください。
このスクリプトは、すべてのインスタンスに書式設定を適用するメニューをドキュメントに追加することにより、4つすべてのスーツの背景色を同じ色に変更できる例を提供します。スクリプトをGoogleドキュメントに追加すると、新しいメニューは次のようになります。
そして、ここにコードがあります:
function onOpen() {
DocumentApp.getUi()
.createMenu('Utilities')
.addItem('Auto-Replace', 'replaceSuits')
.addToUi();
};
function replaceSuits() {
var body = DocumentApp.getActiveDocument().getBody();
var found = body.findText("(♥|♦|♣|♠)");
while (found) {
var elem = found.getElement();
if (found.isPartial()) {
var start = found.getStartOffset();
var end = found.getEndOffsetInclusive();
elem.setBackgroundColor(start, end, "#ff0000");
}
else {
elem.setBackgroundColor("#ff0000");
}
found = body.findText("(♥|♦|♣|♠)", found);
}
};
この質問は replaceText()での書式設定 に似ており、そこからコードを借りました。
あなたの質問で説明されているように各スーツを異なって強調するより長い例があります(各スーツに4つの別々のコードブロックを使用し、共有コードを許可するために間違いなくリファクタリングできましたが、これは私にとってそれをコーディングする最も簡単な方法でした): https://Pastebin.com/7Y1L6BqF
次の記事では、Reversible Formulasアドオンを使用してください。
ドキュメントに次のように書きます:
c = (["♣", {color: "#00FF00", fontSize: 16}])
d = (["♦", {color: "#FF8800", fontSize: 16}])
h = (["♥", {color: "#FF0000", fontSize: 16}])
s = (["♠", {color: "#0009FF", fontSize: 16}])
One =h, with three =d =d =d vs. two =s =s and two =c =c.
[値の表示]をクリックすると、以下が取得されます。
ドキュメントから定義を非表示にするには、「Defsを抽出」をクリックします。それらは別のコードボックスに配置されます。
アドオンは次の場所にあります: https://chrome.google.com/webstore/detail/formulas-for-google-docs/kgjbgmonlnhglokmfnpnklegakfknbeh
免責事項:私はこのアドオンの著者です