LibreCalc:既存ファイルに新しいテンプレートを適用できないか

既存のCalc文書に、新しいテンプレートを適用したい。
どうすればできますか。

インストールしたばかりの時に作った文書がある

文字サイズが大きすぎるので小さいテンプレートを作った

しかし既に作った文書はそのまま

入力したデータを消して書き直す作業を何百回とやるのだが、そのたびに昔の書式が帰ってくるのが大変にうざったい



新しい文書作って書き直すのも面倒すぎる・・・(シート8枚もあるし)

LibreOffice hackfestで話をしていましたが、新旧のテンプレートがどのような作りになっているのかによって出来ることや考え方が違ってくるように思えます。

  1. テンプレートが「スタイル」機能を使用して設計されており、新旧でスタイルの設定(フォントや色など)が変わっているだけの(スタイル名やセルの配置や寸法は変わらない)場合:

旧ファイルから新ファイルへシートをコピーすれば、コピーしたシートにも新ファイルのスタイルが適用され、フォントや色などが変わります。

メニュー[シート]またはシートタブの右クリックから[シートを移動またはコピー]や[シートを挿入]、[ファイルからシートを挿入]、あるいはシートタブのドラッグ・アンド・ドロップなどで操作することができます。

#ファイルをZip展開して中のスタイルシートなどを入れ替えるというトリッキーな方法もなくはないですが、オススメはしません。

  1. 1)以外の場合:

シートのレイアウト設計がまるで変わってしまっていることになりますので、(LibreOfficeに限らず一般論として)簡易な操作では対応困難と思えます。

どうしてもということならば、マクロや外部プログラムを作って対応することになるのではないかと思います(旧ファイルからデータを抽出して新ファイルに書き写す処理)。私は知見を持ちませんが、「RPA」などと呼ばれるツール類ももしかすると使えるのかも知れません。これらの方法であればいかようにも対応可能ですが、難易度はかなり上がりますね。

・一切書式設定を行わず初期状態のままで作ったシート
・書式設定したものをMYテンプレートとし、新規作成時にはそれを適用された状態で作成される

最初に作ったシートもテンプレートのままなのだからすり替わってくれれば助かるのになと。
なぜ古い書式を保持したままになるのか、とも言えるのかな。
変わらない方がありがたいことがあるのは理解するが、変わってくれるほうがありがたいこともあるので、どうにかならないかと・・・

ならないのですね・・・死ねる・・・

「最初に作ったシートもテンプレートのまま」という言葉の意味が、自分の腹には落ちません。過去に作ったCalc文書は内容も書式もひっくるめて1つのファイル保存されているので、ファイルを開けばやはりひっくるめて再現されるのが当然ということにならないでしょうか。

それを回避するにはデータと書式を分けて管理するよう設計していく必要があります。表計算ソフトでもある程度近いことは出来るかも知れませんが、元々がそのような使い方を前提にしたアプリケーションではないので、一般論として向いていないと思います。そういう(データの新旧とレイアウトの新旧を自由に組み合わせるような)用途は、データベース(LibreOfficeで言えばBase)などを利用して実現するのが通例なのではないでしょうかね…。

テキストだけのやり取りで、ご希望の機能を私が理解できていない可能性もあるのかも知れません。サンプルファイルや図を添えてもらえると、他のユーザーも助言しやすくなるかも知れません。あるいはチャットシステムの「Telegram」や、毎週オンラインで開催されているユーザー会「Hackfest Online」などの場であれば、リアルタイムに助言を得ることが出来るかも知れません。

なおご承知なのだろうとは思いますが、コメントで挙げられている「新規作成時に書式設定した自作テンプレートを開く」よう設定することは問題なく可能です。どんな資料を作成する際も常にそのテンプレートで新規作成されてしまうことにはなりますが…。

…当時、Hackfestで機能がないと思ったけれども。あらためて考えると「あるかもしれない」。

メインメニューに[Format]-[Spreadsheet Theme]というメニューがある。過去にtdf#120361とか答えてたの唐突に思い出した。

https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1style_1_1XStyleLoader.html#ab59b1ec0a4bc13dc4445215542f7ca42

https://opengrok.libreoffice.org/xref/core/sc/source/ui/unoobj/docuno.cxx?r=bd93f5ce#1355

https://opengrok.libreoffice.org/xref/core/extras/Package_tplwizstyles.mk?r=2b383d19#12

拡張機能のサイトにTemplate Changerというテンプレートを変更する拡張機能がありました。

これを使うのはいかがでしょうか。