Google Sheets API v4(Java)を使用して、
スプレットシートのタイトル(名前)、テーマ、その他の情報を設定する方法
についてご紹介します。
下記のスプレットシートの情報が設定できます。
・タイトル(名前)
メニュー:「ファイル」 ⇨ 「名前を変更」
で変更できる内容と同じです。
・テーマ
メニュー:「表示形式」 ⇨ 「テーマ」
で変更できる内容と同じです。
・その他
メニュー:「ファイル」 ⇨ 「設定」
で変更できる内容と同じです。
・全般タブ
・言語と地域
・タイムゾーン
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Sheets API] Google Sheets API v4をJavaで操作する
を参照ください。
//例:
requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定
その他のGoogle Sheets APIは、下記の記事を参照ください。
⧉[Google Sheets API] JavaでスプレットシートのメニューとAPIを関連づけてみた
No | 目次 | |
---|---|---|
1 | タイトル(名前を設定する) | |
2 | テーマ | |
3 | その他 | |
1 | 全般 - 言語と地域 | |
2 | 全般 - タイムゾーン | |
3 | 計算 - 再計算 | |
4 | 計算 - 反復計算 |
サンプル コード
スプレットシートの情報を設定するリクエストをサンプルとして紹介します。
各々の設定は以降の記事を参照ください。
更新したい内容はsetFieldsで指定します。
この指定にない場合は更新されません。
複数を同時に更新したい場合は、「,」で繋げます。
field | 更新内容 |
---|---|
title | タイトル(名前) |
spreadsheetTheme | テーマ |
locale | その他 - 全般 - 言語と地域 |
timeZone | その他 - 全般 - タイムゾーン |
autoRecalc | その他 - 計算 - 再計算 |
iterativeCalculationSettings | その他 - 計算 - 反復計算 |
public Request updateSpreadsheetProperties(Integer sheetId) {
Request request = new Request();
SpreadsheetProperties prop = new SpreadsheetProperties();
//「タイトル(名前)」の設定
prop.setTitle("ファイル名");
//「テーマ」の設定
SpreadsheetTheme theme = new SpreadsheetTheme();
prop.setSpreadsheetTheme(theme);
//「その他」の設定
prop.setLocale("jp"); //全般 - 言語と地域
prop.setTimeZone("Asia/Tokyo"); //全般 - タイムゾーン
prop.setAutoRecalc("ON_CHANGE"); //計算 - 再計算
IterativeCalculationSettings it = new IterativeCalculationSettings();
prop.setIterativeCalculationSettings(it); //計算 - 反復計算
UpdateSpreadsheetPropertiesRequest r = new UpdateSpreadsheetPropertiesRequest();
r.setFields("title,spreadsheetTheme"); //変更するフィールドを指定
r.setProperties(prop);
request.setUpdateSpreadsheetProperties(r);
return request;
}
1. タイトル(名前を設定する)
スプレットシートのタイトル名を設定します。
サンプル コード
prop.setTitle("ファイル名");
2. テーマ
テーマを設定します。
テーマのカラーは下記の9種類あります。テーマを設定する場合は
全種類の指定が必須です。
種類のタイプは、ThemeColorPairクラスのsetColorTypeメソッドで指定します。
type | 種類 |
---|---|
TEXT | テキスト |
BACKGROUND | グラフの背景 |
ACCENT1 | アクセント1 |
ACCENT2 | アクセント2 |
ACCENT3 | アクセント3 |
ACCENT4 | アクセント4 |
ACCENT5 | アクセント5 |
ACCENT6 | アクセント6 |
LINK | ハイパーリンク |
サンプル コード
SpreadsheetTheme theme = new SpreadsheetTheme();
//プライマリ フォント ファミリの名前の設定
theme.setPrimaryFontFamily("Arial");
//テーマカラーの設定
List<ThemeColorPair> themeColors = new ArrayList<>();
ThemeColorPair p1 = new ThemeColorPair();
p1.setColor(new ColorStyle().setRgbColor(new Color().setRed(1.0f).setGreen(0f).setBlue(0f)));
p1.setColorType("TEXT");
themeColors.add(p1);
ThemeColorPair p2 = new ThemeColorPair();
p2.setColor(new ColorStyle().setRgbColor(new Color().setRed(0f).setGreen(1.0f).setBlue(0f)));
p2.setColorType("BACKGROUND");
themeColors.add(p2);
ThemeColorPair p3 = new ThemeColorPair();
p3.setColor(new ColorStyle().setRgbColor(new Color().setRed(0f).setGreen(0f).setBlue(1.0f)));
p3.setColorType("ACCENT1");
themeColors.add(p3);
ThemeColorPair p4 = new ThemeColorPair();
p4.setColor(new ColorStyle().setRgbColor(new Color().setRed(1.0f).setGreen(1.0f).setBlue(0f)));
p4.setColorType("ACCENT2");
themeColors.add(p4);
ThemeColorPair p5 = new ThemeColorPair();
p5.setColor(new ColorStyle().setRgbColor(new Color().setRed(1.0f).setGreen(1.0f).setBlue(1.0f)));
p5.setColorType("ACCENT3");
themeColors.add(p5);
ThemeColorPair p6 = new ThemeColorPair();
p6.setColor(new ColorStyle().setRgbColor(new Color().setRed(0.5f).setGreen(0f).setBlue(0f)));
p6.setColorType("ACCENT4");
themeColors.add(p6);
ThemeColorPair p7 = new ThemeColorPair();
p7.setColor(new ColorStyle().setRgbColor(new Color().setRed(0f).setGreen(0.5f).setBlue(0f)));
p7.setColorType("ACCENT5");
themeColors.add(p7);
ThemeColorPair p8 = new ThemeColorPair();
p8.setColor(new ColorStyle().setRgbColor(new Color().setRed(0f).setGreen(0f).setBlue(0.5f)));
p8.setColorType("ACCENT6");
themeColors.add(p8);
ThemeColorPair p9 = new ThemeColorPair();
p9.setColor(new ColorStyle().setRgbColor(new Color().setRed(0.5f).setGreen(0.5f).setBlue(0f)));
p9.setColorType("LINK");
themeColors.add(p9);
theme.setThemeColors(themeColors);
prop.setSpreadsheetTheme(theme);
3. その他
その他のスプレットシート情報を設定します。
3.1. 全般 - 言語と地域
言語と地域の設定をします。
関数、日付、通貨などの表示形式の詳細に影響します。
ISO639の言語コードを指定します。
サンプル コード
prop.setLocale("jp");//ISO 639 言語コード
3.2. 全般 - タイムゾーン
タイムゾーンの設定をします。
スプレッドシートの履歴はこのタイムゾーンで記録されます。
この設定は時間に関係する機能すべてに影響します。
タイムゾーンIDを指定します。
サンプル コード
prop.setTimeZone("Asia/Tokyo");//タイムゾーンID
3.3. 計算 - 再計算
再計算の設定をします。
NOW、TODAY、RAND、RANDBETWEEN の更新頻度を設定します。
次のreclacをどれか一つ、文字列で指定します。
recalc | 内容 |
---|---|
ON_CHANGE | 変更時 |
MINUTE | 変更時と毎分 |
HOUR | 変更時と毎時 |
サンプル コード
prop.setAutoRecalc("ON_CHANGE");
3.4. 計算 - 反復計算
反復計算を設定します。
循環参照を含む数式の解を反復計算で求めるかどうかを決めます。
詳しくは⧉Googleドキュメント反復計算に関する情報
をご覧ください。
最大反復回数としきい値を指定します。
サンプル コード
IterativeCalculationSettings it = new IterativeCalculationSettings();
it.setMaxIterations(0); //最大反復回数
it.setConvergenceThreshold(0d); //しきい値
prop.setIterativeCalculationSettings(it);
おしまい。。