0
1

[Google Sheets API] スプレットシートのタイトル(名前)、テーマ、その他の情報を設定する

Last updated at Posted at 2024-02-27

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

おしまい。。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1