典型的にはOpenDocument Spreadsheet/Office Open XML Workbook/Microsoft Excelファイルに関連付けられた任意のスプレッドシートドキュメント、LibreOfficeを使って
話題
About: UNO (Universal Network Objects)
About: LibreOffice
About: Apache OpenOffice
About: Javaプログラミング言語
About: C++
About: Microsoft .NET Framework
About: Pythonプログラミング言語
About: LibreOffice Basic
About: Apache OpenOffice Basic
About: BeanShell
About: JavaScript
この記事の目次
- 開始コンテキスト
- ターゲットコンテキスト
- オリエンテーション
- 本体
- 1: 任意のスプレッドシートドキュメントの任意のページプロパティをセットするためのロジック
- 2: 当該プロパティ群のリスト
- 3: 結びとその先
開始コンテキスト
- 読者は、UNOがサポートされているプログラミング言語群(Java、C++、Microsoft .NET Frameworkのプログラミング言語群(ほとんどの場合、C#およびVisual Basic.NET)、Python、LibreOfficeまたはApache OpenOffice Basic、BeanShell、JavaScript)の内の1つの基本的知識を持っている。
- 読者は、UNOとは何であるかおよびそれがLibreOfficeまたはApache OpenOfficeにどう関係しているかの知識を持っている。
- 読者は、UNOの基本的要素群およびそれらに対して本シリーズで用いられている用語体系の知識を持っている。
- 読者は、任意のLibreOfficeまたはApache OpenOfficeインスタンスへのUNOオブジェクト群コンテキストを取得する方法の知識(任意の外部コンソールJava、C++、C#、Pythonプログラムのためにそれを行なう方法についてのいくつかの記事がある; 任意の外部GUI Javaプログラムのためにそれを行なう方法についてのある記事がある; 任意の外部GUI C++、C#、Pythonプログラムのためにそれを行なう方法についてのいくつかの記事は以降に公開される)を持っている。
- 読者は、UNOを用いて、意図するドキュメントにアクセスする方法およびそのドキュメントをファイルに格納する方法の知識を持っている(LibreOfficeまたはApache OpenOfficeをファイルコンバーターとして使用する方法の記事(コンセプト、あるJava実装、あるC++実装、あるC#実装、あるPython実装、あるLibreOfficeまたはApache OpenOffice Basic実装)がその情報の主要な部分を含んでいる)。
ターゲットコンテキスト
- 読者は、LibreOfficeまたはApache OpenOfficeのインスタンスにロードされた任意のスプレッドシートドキュメントの任意のページプロパティを、自分のプログラムからセットする方法を知る。
Hypothesizer 7、Objector 40A、Objector 40Bが、あるコンピュータの前にいる。
オリエンテーション
Hypothesizer 7
本記事では、LibreOfficeまたはApache OpenOfficeのインスタンスにロードされた任意のスプレッドシートドキュメントの任意のページプロパティを、私たちのプログラムからセットする方法を知ります。
実のところ、本記事は、任意のスプレッドシートドキュメントの任意のページのサイズをセットすることについてのある以前の記事の拡張です。
Objector 40A
'サイズ'って、プロパティ群の内の1つにすぎないよね?
Hypothesizer 7
はい、正にその通りです、サー。したがって、任意のプロパティをセットするためのロジックは、既にその以前の記事にて説明済みであり、ここでは繰り返しません; 本記事は、どのようなプロパティ群が存在するかを紹介する(もっと具体的には、それらプロパティ群をリストしたある記事を紹介する)ものです。
Objector 40B
本記事は、スプレッドシートドキュメントだけについてなの?
Hypothesizer 7
基本的にはそうです、マダム。ワードプロセッサドキュメントとスプレッドシートドキュメントは、多くのプロパティ群を共有していますが、一部のプロパティ群は、ワードプロセッサドキュメントにのみに存在し、一部のプロパティ群は、スプレッドシートドキュメントにのみに存在します。したがって、ワードプロセッサドキュメントに関心がおありでしたら、ワードプロセッサドキュメントについての記事の方を見たいと思われるでしょう。.
本体
1: 任意のスプレッドシートドキュメントの任意のページプロパティをセットするためのロジック
Hypothesizer 7
任意のスプレッドシートドキュメントの任意のページプロパティをセットするためのロジックは、以前の記事にて既に説明済みであり、ここでは繰り返しません。
第4セクションにおいて、「Size」の代わりに別のプロパティ名を、そして対応するデータタイプのデータを使えばよいだけです。
2: 当該プロパティ群のリスト
Hypothesizer 7
ここに、当該プロパティ群のリストがあります。
Objector 40A
えーと. . .
Hypothesizer 7
挙げられているプロパティタイプ群はUNOデータタイプであることにご注意ください。
Objector 40A
どういう意味だ?
Hypothesizer 7
各UNOデータタイプは、UNOがサポートされている各プログラミング言語において、言語固有のあるデータタイプへマップされています。例えば、'long'は、Javaの'int'('long'ではなく)へマップされ; Pythonでは、任意の整数が'int'へマップされています、'short'とか'byte'とかはないので。
'::com::sun::star::container::XNameContainer'のような複合タイプの仕様については、UNO APIリファレンスをご覧ください。
Objector 40A
. . .どうすれば、'::com::sun::star::container::XNameContainer'のインスタンスを生成できるのか?
Hypothesizer 7
その必要はありません。たとえ要素が全然なくても、そのプロパティには、あるインスタンスが既にセットされているので、その既存インスタンスを使用すればよいのです。
Objector 40A
なぜ、そんな「同一」のプロパティたちが存在しているのか?
Hypothesizer 7
正直に言って、定かには知りません、しかし、ほとんどの場合、同一プロパティは、ドキュメントタイプ群共通プロパティのドキュメントタイプ固有バージョンです。例えば、'BackColor'は、ドキュメントタイプ群に共通であり、'BackgroundColor'は、スプレッドシートドキュメント固有です。
3: 結びとその先
Hypothesizer 7
これで、LibreOfficeまたはApache OpenOfficeのインスタンスにロードされた任意のスプレッドシートドキュメントの任意のページプロパティを、私たちのプログラムからセットする方法を知りました。
任意のワードプロセッサドキュメントの任意のページプロパティを、私たちのプログラムからセットする方法を、次記事にて見ます。
参考資料
- N/A. (N/A). LibreOffice: Main Page. Retrieved from https://api.libreoffice.org/docs/idl/ref/index.html