質問: text.getElement().getAttributes(); ``` ``` ({FONT_SIZE:null, ITALIC:null, STRIKETHROUGH:null, FOREGROUND_COLOR:"#999999", BOLD:null, LINK_URL:null, UNDERLINE:null, FONT_FAMILY:"Roboto", BACKGROUND_COLOR:null})` ``` 取得できている値は、上記の値になります。 FOREGROUD_COLORを取得したいのですが、以下のコードでは、取得できませんでした。 (エラーにはならないが、結果がundefineとなる ``` ele["FOREGROUD_COLOR"] ``` ### 質問 1. getAttributesからでも各Attributeの値は取得できると思うのですが、どのように取得したら良いでしょうか? 2. この後、別のテキストにSetAttributeで上記で取得した["FOREGROUD_COLOR"]をセットしたいのですが、どのようにすれば良いでしょうか? ご確認よろしくお願いいたします。
回答: ご質問1 おそらくGoogle Documentでの質問と推測しました。`FOREGROUND_COLOR`の値は、ご質問内にあるスクリプトからは下記のようにして取得することが可能です。 ``` ele["FOREGROUND_COLOR"] ``` * `ele["FOREGROUD_COLOR"]`の`FOREGROUD_COLOR`はスペルが間違っているため、`undefined`が返されます。`FOREGROUD_COLOR`ではなく、`FOREGROUND_COLOR`で試してみてください。 * また、`text.getElement().asText().getForegroundColor()`でも直接取得できるかと思われます。 ご質問2 例えば、`FOREGROUD_COLOR`のみを変更したい場合は、下記のようにすることができます。 ``` var attributes = {}; attributes[DocumentApp.Attribute.FOREGROUND_COLOR] = "色"; text.getElement().getElement().setAttributes(attributes); ``` または ``` text.getElement().asText().setForegroundColor("色"); ``` 参考 * getForegroundColor() * setAttributes(attributes) * setForegroundColor(color)