2020年9月13日日曜日

40: スプレッドシートドキュメントの任意のページプロパティをUNOを用いてセットする

<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>

典型的には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

この記事の目次


開始コンテキスト



ターゲットコンテキスト



  • 読者は、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
<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>