Home > C# > 目的別資料 > Office文書の操作 > Libre Office

LibreOffice ソフトウェア開発キット(SDK)6.2のコード例

新規作成日 2019-02-08
最終更新日

概要

LibreOffice Software Development Kit 6.2のコードサンプルの紹介ページの日本語訳です。

SDKは、APIの使い方を説明するためのさまざまな開発言語(Java, Python, C++, LibreOffice 6.2 Basic, OLE)の高機能な例を提供します。そして、含まれている、ワードプロセッサ、表計算、プレゼンテーション・ソフトウェア、画像プログラムとLibreOffice 6.2のデータベースから、どのような利点があるか実演します。

例のいくつかは、ポートの聞き取っている実行中のオフィス・インスタンスが必要です。必要な場合、あなたは、makefileで詳細な情報を取得できます。

すべてのmakefileには、実行する例に、少なくとも1つの実行ターゲットが含まれています。それぞれのサンプル・ディレクトリのmakefileの出力を参照してください。コンポーネントを作成する例のいくつかは、実行ターゲットを持っていません。これらの場合では、ドキュメントは、コンポーネントのインスタンス化と実行を提供します(makefile出力を参照して下さい)。また、基本的な例は、実装された機能を使用して、表示するドキュメントを提供します。

開発者ガイドの例
開発者ガイドには、高機能なさまざまなアプリケーションの領域でAPIの使い方を実演する例が付属しています。
Javaの例
簡単で更に複雑な例で、JavaからAPIの使い方を紹介します。
Pythonの例
小さな例で、PythonからAPIの使い方を紹介します。
C++の例
小さな例で、C++からAPIの使い方を紹介します。
LibreOffice 6.2 Basicの例
小さな例で、LibreOffice 6.2 BasicからAPIの使い方を紹介します。
オブジェクトのリンクと埋め込み(OLE)の例
例で、OLEからAPIの使い方を紹介します。
共通言語基盤構造(CLI)の例
例で、CLIからAPIの使い方を紹介します。

Javaの例

テキスト文書の例
テキスト文書の例 解説
BookmarkInsertion このアプリケーションは、Officeサーバーに接続します。そして、複数のコンポーネント・ファクトリーを取得します。空のテキスト文書が、開かれ、例のテキストが、入力されます。その後、いくつかのブックマークが、挿入されます。
HardFormatting このプログラムは、オフィス・サーバーに接続して、複数のコンポーネント・ファクトリーを取得します。その上さらに、空のテキスト文書が、開かれ、例のテキストが、入力され、いくつかのテキストの属性を調べます。そして、PropertyStateが、選択範囲から確認されます。
SWriter プログラムは、オフィス・サーバーに接続して、複数のコンポーネント・ファクトリーを取得します。空のテキスト文書が、作成され、何らかのテキストが、入力され、そして、テキストの表、色のついたテキストとテキストのフレームが、挿入されます。
StyleCreation 例は、オフィス・サーバーに接続し、複数のコンポーネント・ファクトリーを取得します。空のテキスト文書が、開かれ、新しい段落のスタイルが、作成され、適用されます。
StyleInitialization プログラムは、オフィス・サーバーに接続して、複数のコンポーネント・ファクトリーを取得します。その後で、空のテキスト文書が、開かれ、例のテキストが、入力されます。段落の上に、異なる段落のスタイルを適用するための段落コレクションが、使用されるでしょう。
TextDocumentStructure アプリケーションは、オフィス・サーバーに接続して、複数のコンポーネント・ファクトリーを取得します。空のテキスト文書が、開かれます。すべての段落の列挙体とすべてのテキストの部分の列挙体が、作成されます。
TextReplace 例は、オフィス・サーバーに接続し、複数のコンポーネント・ファクトリーを取得します。空のテキスト文書が、作成され、例のテキストが、挿入され、そして、いくつかの英国のスペルの単語は、米国のスペルの単語に置き換えられます。
GraphicsInserter GraphicsInserterは、位置、幅、高さとURLを設定することによって、空のテキスト文書上に、画像オブジェクトを作成します。
WriterSelector このクラスは、LibreOffice Serverで、あなたに、選択したオブジェクト(テキストの領域、テキストのフレームや画像)に関する情報を与えます。
  
表計算ドキュメントの例
表計算ドキュメントの例 解説
CalcAddins このコンポーネントは、アプリケーションの表計算に、新しい関数を追加します。コンポーネントの登録後、挿入した関数は、関数オートパイロットの助けを借りて見つけることがます。新しい関数は、カテゴリーAdd-inに割り当てられます。
ChartTypeChange このクラスは、LibreOffice 6.0 Calcの文書を読み込んで、埋め込まれたチャートの種類を変更します。
EuroAdaption アプリケーションは、Officeサーバーに接続し、そして、複数のコンポーネント・ファクトリーを取得し、空のCalcドキュメントを開き、例のテキストを入力し、数値フォーマットをDMに設定し、数値の書式を、EUR(ユーロ)に変更し、そして、コンテンツを持つ各セルでDM / EUR係数を使用します。
SCalc プログラムは、オフィス・サーバーに接続して、複数のコンポーネント・ファクトリーを取得します。続いて、空のCalcドキュメントが、開かれ、セルのスタイルが、作成され、いくつかのデータは、シートに挿入され、作成されたセルのスタイルが、適用されます。最後に、3Dチャートが、挿入されます。
  
図面ドキュメントの例
図面ドキュメントの例 解説
SDraw このプログラムは、オフィス・サーバーに接続して、複数のコンポーネント・ファクトリーを取得します。その後、空のテキスト文書が、作成され、そして、いくつかの形状は、描画ページ上に挿入されます。
  
ドキュメント処理の例
ドキュメント処理の例 解説
DocumentConverter プログラムは、ドキュメントを好きなドキュメント型に変換する機能のサービスを提供します。
DocumentLoader DocumentLoaderは、新規、あるいは、既存の文書を開くことができます。
DocumentPrinter DocumentPrinterは、あなたが、あなたの好きなプリンターで、指定された文書の好きなページを印刷できます。
DocumentSaver DocumentSaverは、文書をどのように保存するか、あるいは、あなたが、文書をどのように変換するかを示します。
  
UNOコンポーネントの例
UNOコンポーネントの例 解説
Object Inspector オブジェクト・インスペクタは、主に開発者のための、実行時に、LibreOffice 6.0 APIのオブジェクトに関する情報を表示することができる補助ツールです。検査されるオブジェクトに応じて、適切なメソッド、インターフェイス、サービスと属性を、開発者に示すことができます。メソッド、インターフェイス、サービスと属性は、予測可能なツリーで表現されます。オブジェクトに含まれる属性を調べる場合、ツリー内の適切なノードは、マウスの助けを借りて展開することができます。それぞれの非プリミティブ・オブジェクトのために、5つの分類が、ユーザーに提供されます。それらのオブジェクトで利用可能な限り、オブジェクト・インスペクタは、大きなコード変更のためにだけ、NetBeansプロジェクトとして、現在、利用可能です。詳細についてはプロジェクト・ページを参照してください。
MinimalComponent このクラスは、最小限のUNOコンポーネントを提供します。このクラスは、あなた自身のコンポーネントの基盤として使用できます。このクラスの拡張によって、また、Officeの機能領域を拡張することが可能です。
PropTest com.sun.star.lib.uno.helper.ProperterSetを継承することで、設定されたインターフェイスにプロパティを提供するコンポーネントが含まれています。
ToDo 表計算ドキュメントの中のそれぞれのToDoリストのために、このコンポーネントは、開始日、開始日の曜日、終了日、終了日の曜日を計算します。すべての計算は、「必要な日数」、「期日」と「状態」の値に依存しています。「必要な日数」と「状態」の列は必須です。最初のToDoは、9行に、配置する必要があります。計算を開始する日付は、セルC6に、配置する必要があります。プライベートな休暇は、セルK4/K5以下に、配置する必要があります。すべての行は、最初の列の最初の空のセルまで計算されます。「Due Date」列のセルが赤色の場合、あなたは、入力を調べる必要があります。
EmbeddedObject 埋め込まれたオブジェクト実装の例を提供するコンポーネントが含まれます。

追加の情報:

Pythonの例

  
Pythonの例
Pythonの例 解説
ToolPanelPoc この概念の拡張の検証は、Calcで、ToolPanelを作成する方法を説明します。

C++の例

DocumentLoaderの例は、実行中のオフィス・サーバーが必要です。このプログラムを実行する前に、あなたは、次のコマンドでオフィスを呼び出す必要があります。:

soffice "--accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager"

You can also customize the mentioned host and port to your needs.

  
C++の例
解説
DocumentLoader このコンポーネントは、適切なJavaの例と同じように動作しますが、C++で、実装されています。
Counter このデモでは、極めて簡単なUNOコンポーネントを、どのように実装するか、そして、実行可能ファイルからUNOコンポーネントに、どのようにアクセスするかを示します。
Remote client 'uno' プログラムは、何らかのサービスを、他の工程にエクスポートするために用いられます。この例では、(io-モジュールで構築される)com.sun.star.uno.Pipeサービスが、エクスポートされます。クライアント・コンポーネントは、com.sun.star.lang.XMainインターフェイスを実装しています。runメソッドでは、それは、サーバー・プロセスに接続し、インスタンスを取得します。そして、インスタンス上で、いくつかを呼び出しをします。
complextoolbarcontrols この例では、複雑なToolbarコントロール使用して、ツールバー・アドオンを、どのように作成するかを示します。それは、画像ボタン、コンボボックス、スピン・フィールド、編集フィールド、ドロップダウン・ボックス、トグル・ドロップダウン・ボタンと通常のドロップダウン・ボタンを、どのように使用するかを示します。

追加の情報:

LibreOffice 6.2 Basicの例

サンプル・プログラムは、サンプル・ディレクトリのLibreOffice 6.2 ドキュメントに埋め込まれています。LibreOffice 6.2 Basicのソースを調べたり、編集するために、適切な文書を選択し、続いて、ツール->マクロを選択します。

例のほとんどは、独立していますが、それらの2つ(Indexの作成とASCIIファイルのImport/Export)は、.txtファイル(名前接尾辞)で識別される関連するデータ・ファイルを持っています。

また、例のいくつかは、Javaで利用でき、あなたは、Javaセクションで、それらを検索することができます。

  
LibreOffice 6.2 Basicの例
解説
Changing Appearance 特定の単語に使われるスタイルを変更するために、あなたは、次の例から始めることができます。このコードは、正確に1つの小文字によって、それに続くテキスト部分を表す正規表現[a-z]を検索します。これらの4つの文字のすべての出現は、太字に変更されます。プログラムの次の部分でも同じことが起こります。今回は、すべての[a-z]の外観をイタリックに変更しました。この例が、機能するためには、あなたは、開いたテキスト文書から、それを実行する必要があります。
Replacing Text

あなたが、編集のために、他の人から文書を定期的に受け取る場合、あなたは、特定の単語が、常に同じに書かれていることを確認したいかもしれません。次の例は、特定の単語が、アメリカ英語で綴られていることを強制することによって、これを説明します。

この例が、機能するためには、あなたは、開いたテキスト文書から、それを実行する必要があります。現実のアプリケーションのために、外部ファイルから、単語を読み込むことをお勧めします。

Using Regular Expressions

他のアプリケーションの自動的なテキストの修正は、文体の疑問と関連しています。あなたの会社の方針が、特定の言葉の使用を避けることだとします。あなたは、これらの単語を置き換えたいです。しかし、あなたが、文脈に依存する適切な置換を見つける必要があるため、自動的に行うことができません。それで、自動的に、問題のある単語を削除するか、置き換える代わりに、あなたは、後に続く、手作業の校正作業の間、目立つように、それらの色を変更します。

他のアプリケーションの自動的なテキストの修正は、文体の疑問と関連しています。あなたの会社の方針が、特定の言葉の使用を避けることだとします。あなたは、これらの単語を置き換えたいです。しかし、あなたが、文脈に依存する適切な置換を見つける必要があるため、自動的に行うことができません。それで、自動的に、問題のある単語を削除するか、置き換える代わりに、あなたは、後に続く、手作業の校正作業の間、目立つように、それらの色を変更します。

Inserting Bookmarks 次の例は、極めて類似していることを行います。しかし、今回は、私たちは、単語の色を変更しませんが、それらのそれぞれにブックマークを挿入します。このように、あなたは、単語から単語まで、直接移動するために、StarOfficeナビゲーターを使用することができます。ブックマークは、まず、createInstance()を使用して、作成する必要があります。それらは、続いて、現在のテキストの領域に、insertTextContent()で挿入されます。

前述の例との主な違いは、markList()のForループです。現在の単語の色を変更する代わりに、それは、新しいブックマーク、整数を添付した現在の単語名前oBookmarkを作成します。それは、続いて、単語に、このブックマークを挿入します。

Creating an Index テキスト文書のためのインデックスは、LibreOffice 6.0 Writerで、インデックスで表示する必要がある単語をクリックすることによって手作業で作成されます。文書が大きい場合、あるいは、あなたが、いくつかの文書のためのインデックスを作成する必要がある場合、このタスクは、自動化されるべきです。
Adapting to Euroland 欧州連合(EU)加盟国のほとんどは、2001年に新しいユーロを支持し古い通貨を放棄します。これは、古い通貨を使用する、すべてのプログラムへの修正を必要とします。旧通貨の為替レートは、1999年の終わりに固定されているので、既に、古いデータを変換することができます。次のプログラムは、通貨文字列DMでフォーマットされる表ですべての値のために、これを行います。
Import/Export of ASCII Files あなたは、アスキー入力から画像を作成するStarOffice APIの図面機能を使用することができます。1つのアプリケーションは、テキストのデータに基づいたディレクトリ・リストの階層的な表現です。
Adapting to Euroland あなたが、特定の会社のための株式チャートを表示したい場合、あなたは、毎日、検索エンジンに行きブラウザー上で、開くことができます。価格を調べて、手作業で、それを表にコピーします。あるいは、あなたは、自動的に、これを行うプログラムを使用することができます。次の例は、シート・モジュールに依存しています。それは、URLを使用して、現在の株価を取得します。各々の会社のための価格は、シートに表示されます。私たちは、それぞれのシート上で、この会社の線図と数値を表示します。機能は、GetValue()、UpdateValue()とUpdateChart()の3つのサブルーチンで隠されています。
Forms and Controls 例のドキュメントのBurgerファクトリーは、あなたは、あなたが希望する、ハンバーガー種類、飲料、トッピングとソースを注文するために使うことができる、いくつかのフォ-ムとコントロールを提供します。「今すぐ注文する」ボタンを押すと、あなたの注文が、配置されるでしょう。

追加の情報:

オブジェクトのリンクと埋め込み(OLE)の例

オブジェクトのリンクと埋め込み(OLE)の例
解説
ActiveX Control

ActiveXコントロールは、COMテクノロジによるUNOにアクセスする例を示しています。それは、適切にインストールされたStarSuiteバージョン6.0、あるいは、OpenOffice 1.0以降を必要とします。これは、そのようなコントロールを使用できるコンテナでのみ使用できる、Lite ActiveXコントロールです。それは、文書を埋め込むhtmlページから、<OBJECT> tagでアクティブ化できます。パラメータなしで、新しいWriter文書は、編集のために開かれます。詳細については、ReadMeを参照して下さい。

備考

この例は、Windowsでのみ動作します。そして、あなたが、MS .Net C++コンパイラを使用しない場合、メイクファイルを確認し、説明に注目して下さい。

WriterDemo このVisual Basicスクリプトは、空のテキスト文書を作成し、そして、テキスト、表とテキスト・フレームを挿入します。

追加の情報:

共通言語基盤構造(CLI)の例

共通言語基盤構造(CLI)の例
解説
Spreadsheet Example この例は、C#で記述され、そして、表計算ドキュメントが、どのように、作成され、内容を満すかを示します。この例は、実際に、3つの別々の実行可能な、preadsheetSample.exe、GeneralTableSample.exe、ViewSample.exeから構成されています。
WriterDemo この例は、VB.NETで記述されています。それは、テキスト文書を作成し、そして、テキスト、表とテキスト・フレームを挿入します。

追加の情報:

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」