概要
LibreOffice 「Software Development Kit 24.2 Examples」のコードサンプルの紹介ページの日本語訳です。
SDKは、APIの使用方法を説明するために、さまざまなプログラミング言語(Java、Python、C ++、LibreOffice 24.2 Basic、OLE)の豊富な例を提供し、LibreOffice 24.2 に含まれるワード・プロセッサ、スプレッドシート、プレゼンテーション・ソフトウェア、グラフィック・プログラム、データベースを、どのように活用するかを説明します。
いくつかの例では、ポートをリッスンしている実行中の Office インスタンスが必要です。必要であれば、makefile でさらに詳しい情報が得られます。
すべての makefile には、実行例を実行するための少なくとも 1 つの実行ターゲットが含まれており、さまざまな例のディレクトリにある makefile の出力を参照してください。コンポーネントを作成する例の中には、実行ターゲットがないものがあります。このような場合、コンポーネントをインスタンス化して実行するドキュメントが提供されます (makefile の出力を参照)。また、Basicの例は、実装された機能の使用方法と機能を示すドキュメントも提供されています。
開発者ガイドの例 | 開発者ガイドには、さまざまなアプリケーション領域の API の使用方法を示す豊富な例が付属しています。(※訳注 Javaの作例) |
Javaの例 | JavaからAPIの使用方法を示す単純な、そして、複雑な一連の例。 |
Pythonの例 | PythonからAPIの使用方法を示す小さな一連の例。 |
C++の例 | C++からAPIの使用方法を示す小さな一連の例。 |
LibreOffice 24.2 Basicの例 | LibreOffice 24.2 BasicからAPIの使用方法を示す小さな一連の例。 |
オブジェクトのリンクと埋め込み(OLE)の例 | OLE から API の使用方法を示す例。 |
共通言語基盤構造(CLI)の例 | CLIから API の使用方法を示す例。 |
Javaの例
テキスト文書の例 | 解説 |
---|---|
BookmarkInsertion | このアプリケーションは、オフィス・サーバーに接続し、マルチ・コンポーネント・ファクトリを取得します。空のテキスト文書が開かれ、サンプル・テキストが入力されます。その後、いくつかのブックマークが、挿入されます。 |
HardFormatting | このプログラムは、オフィス・サーバーに接続し、マルチ・コンポーネント・ファクトリを取得します。更にまた、空のテキスト文書が開かれ、サンプル・テキストが入力され、いくつかのテキスト属性が検査され、選択範囲から PropertyState が確認されます。 |
SWriter | プログラムは、オフィス・サーバーに接続して、マルチ・コンポーネント・ファクトリを取得します。空のテキスト文書が作成され、テキストが入力され、テキスト テーブル、色付きテキスト、およびテキスト・フレームが挿入されます。 |
StyleCreation | 例は、オフィス・サーバーに接続し、マルチ・コンポーネント・ファクトリを取得します。空のテキスト文書が開かれ、新しい段落スタイルが作成され、適用されます。 |
StyleInitialization | プログラムは、オフィス・サーバーに接続して、マルチ・コンポーネント・ファクトリを取得します。その後、空のテキスト文書が開かれ、サンプル・テキストが入力されます。段落に異なる段落スタイルを適用するには、段落コレクションを使用します。 |
TextDocumentStructure | アプリケーションは、オフィス・サーバーに接続して、マルチ・コンポーネント・ファクトリを取得します。空のテキスト文書が開かれ、すべての段落の列挙とすべてのテキスト部分の列挙が作成されます。 |
TextReplace | 例は、オフィス・サーバーに接続し、マルチ・コンポーネント・ファクトリを取得します。空のテキスト文書が作成され、サンプル・テキストが挿入され、一部の英語のスペルの単語が米国のスペルの単語に置き換えられます。 |
GraphicsInserter | GraphicsInserterは、位置、幅、高さとURLを設定することによって、空のテキスト文書上に、画像オブジェクトを作成します。 |
WriterSelector | このクラスは、あなたに、LibreOfficeサーバーの選択したオブジェクト(テキスト範囲、テキスト・フレームまたはグラフィクス)に関する情報を提供します。 |
スプレッドシート文書の例 | 解説 |
---|---|
CalcAddins | このコンポーネントは、スプレッドシート・アプリケーションに、新しい関数を追加します。コンポーネントを登録した後、挿入された関数は、関数の自動操縦の助けを借りて見つけることができます。新しい関数は、Add-in カテゴリに割り当てられます。 |
ChartTypeChange | このクラスは、LibreOffice 24.2 Calc 文書を読み込み、埋め込まれたグラフの種類を変更します。 |
EuroAdaption | アプリケーションは、Officeサーバーに接続し、そして、マルチ・コンポーネント・ファクトリを取得し、空の Calc ドキュメントを開き、サンプル テキストを入力し、数値形式を DM に設定し、数値形式を EUR (ユーロ) に変更して、コンテンツのある各セルで DM/EUR 係数を使用します。 |
SCalc | プログラムは、オフィス・サーバーに接続して、マルチ・コンポーネント・ファクトリを取得します。次に、空のCalc文書が開かれ、セル・スタイルが作成され、シートにいくつかのデータが挿入され、作成されたセル・スタイルが適用されます。最後に、3Dチャートが、挿入されます。 |
図面ドキュメントの例 | 解説 |
---|---|
SDraw | このプログラムは、オフィス・サーバーに接続して、マルチ・コンポーネント・ファクトリを取得します。その後、空のテキスト文書が作成され、描画ページにいくつかの図形が挿入されます。 |
文書操作の例 | 解説 |
---|---|
DocumentConverter | プログラムは、どんな文書でも好きな文書型に変換するサービスを提供します。 |
DocumentLoader | DocumentLoaderは、新規、あるいは、既存の文書を開くことができます。 |
DocumentPrinter | DocumentPrinterは、あなたが、指定した文書の好きなページを、好きなプリンタで印刷できます。 |
DocumentSaver | DocumentSaverは、文書をどのように保存するか、あるいは、あなたが、文書をどのように変換するかを示します。 |
UNOコンポーネントの例 | 解説 |
---|---|
Object Inspector | オブジェクト・インスペクタは、主に開発者向けの補助ツールであり、実行時に LibreOffice 24.2 API のオブジェクトに関する情報を表示できます。検査対象のオブジェクトに応じて、適切なメソッド、インターフェイス、サービス、属性を開発者に表示できます。メソッド、インターフェイス、サービスと属性は、予測可能なツリーで表現されます。オブジェクトに含まれる属性を調べる場合、マウスを使用して、ツリー内の適切なノードを展開できます。非プリミティブオブジェクトごとに、そのオブジェクトで利用可能な 5 つのカテゴリが、ユーザーに提供されます。オブジェクト・インスペクタは、現在、主要なコード変更のため、NetBeans プロジェクトとしてのみ使用できます。詳細については、プロジェクト・ページをご覧ください。 |
MinimalComponent | このクラスは、最小限のUNOコンポーネントを提供します。あなたは、独自のコンポーネントのベースとして、このクラスを取得できます。このクラスを拡張することで、Office の機能範囲を拡張することもできます。 |
PropTest | com.sun.star.lib.uno.helper.ProperterSetを継承することにより、プロパティ設定インターフェイスを提供するコンポーネントが含まれます。 |
ToDo | スプレッドシート文書内の一覧にされたそれぞれのToDoのために、このコンポーネントは、開始日、開始日の曜日、終了日、終了日の曜日を計算します。すべての計算は、「Needed Days (必要な日数)」、「Due Date (期日)」、「Status (ステータス)」の値に依存します。「Needed Days (必要な日数)」と「Status (ステータス)」の列は必須です。最初の ToDo は、 9 行目に配置する必要があります。計算を開始する日付を、セル C6 に入力します。プライベートな休暇は、セルK4/K5以下に、配置する必要があります。最初の列の最初の空のセルに至るまで、すべての行が計算されます。「Due Date」列のセルが赤色の場合、あなたは、入力を確認する必要があります。 |
EmbeddedObject | 埋め込みオブジェクトの実装例を示すコンポーネントが含まれています。 |
追加の情報:
Pythonの例
ToolPanelの例 | 解説 |
---|---|
ToolPanelPoc | この概念の拡張の検証は、Calcで、ToolPanelを、どのように作成するかを説明します。 |
文書操作の例 | 説明 |
---|---|
DocumentConverter | プログラムは、どんな文書でも好きな文書型に変換するサービスを提供します。 |
DocumentLoader | DocumentLoaderは、新しい、あるいは、既存の文書を開くことができます。 |
DocumentPrinter | DocumentPrinterは、あなたが、指定した文書の好きなページを、好きなプリンタで印刷できます。 |
DocumentSaver | DocumentSaverは、文書をどのように保存するか、あるいは、あなたが、文書をどのように変換するかを示します。 |
テキスト文書の例 | 説明 |
---|---|
BookmarkInsertion | このアプリケーションは、空のテキスト文書を開き、サンプル・テキストを入力します。その後、いくつかのブックマークが、挿入されます。 |
HardFormatting | このプログラムは、空のテキスト文書を開き、サンプル・テキストを入力し、いくつかのテキスト属性を調べ、選択範囲から PropertyState が確認されます。 |
SWriter | このプログラムは、空のテキスト文書を開き、いくつかのテキストを入力し、テキストテーブル、色のついたテキスト、テキスト・フレームが挿入さます。 |
StyleCreation | このプログラムは、空のテキスト文書を開きます。次に、新しい段落スタイルが作成され、適用されます。 |
StyleInitialization | このプログラムは、空のテキスト文書を開き、サンプル・テキストを入力します。段落に異なる段落スタイルを適用するには、段落コレクションを使用します。 |
TextDocumentStructure | このプログラムは、空のテキスト文書を開き、サンプル・テキストを入力します。文書構造が、印刷されます。XEnumeration インターフェイスのメソッドを呼び出す代わりに、より Python 的な方法で段落とその部分をループします。 |
TextReplace | プログラムは、空のテキスト文書を開き、サンプル テキストを入力すると、一部の英語のスペルの単語が、米国のスペルの単語に置き換えられます。 |
GraphicsInserter | GraphicsInserterは、位置、幅、高さ、および URL を設定して、空のテキスト文書上にグラフィック・オブジェクトを作成します。 |
WriterSelector | このプログラムは、あなたに、テキスト範囲、テキスト フレーム、グラフィックなど、選択したオブジェクトに関する情報を提供します。 |
スプレッドシート文書の例 | 説明 |
---|---|
ChartTypeChange | このクラスは、LibreOffice 24.2 Calc 文書を読み込み、埋め込まれたグラフの種類を変更します。 |
EuroAdaption | アプリケーションは、オフィス サーバーに接続してマルチ・コンポーネント・ファクトリ取得し、空の Calc ドキュメントを開き、サンプル テキストを入力し、数値形式を DM に設定し、数値形式を EUR (ユーロ) に変更して、コンテンツのある各セルで DM/EUR 係数を使用します。 |
SCalc | プログラムは、オフィス・サーバーに接続し、マルチ・コンポーネント・ファクトリを取得します。次に、空のCalc文書が開かれ、セル・スタイルが作成され、シートにいくつかのデータが挿入され、作成されたセル・スタイルが適用されます。最後に、3Dチャートが、挿入されます。 |
追加情報はありません
C++の例
DocumentLoaderの例は、実行中のオフィス・サーバーが必要です。このプログラムを実行する前に、あなたは、次のコマンドでオフィスを呼び出す必要があります。:
soffice "--accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager"
あなたは、必要に応じて、上記のホストとポートをカスタマイズすることもできます。
例 | 解説 |
---|---|
Draw | これは、本質的には、適切な Java の例と同じですが、C++ で実装されています。実行中のオフィス・インスタンスは、必要ありません。 |
DocumentLoader | このコンポーネントは、適切なJavaの例と同じように動作しますが、C++で、実装されています。実行中の Office インスタンスが必要です。 |
Counter | このデモでは、非常に単純な UNO コンポーネントを、どのように実装するかと、実行可能ファイルから UNO コンポーネントに、どのようにアクセスするかを示します。 |
Remote client | 'uno' プログラムは、何らかのサービスを、他の工程にエクスポートするために用いられます。この例では、(io-モジュールで構築される)com.sun.star.uno.Pipeサービスが、エクスポートされます。クライアント・コンポーネントは、com.sun.star.lang.XMainインターフェイスを実装しています。runメソッドでは、それは、サーバー・プロセスに接続し、インスタンスを取得します。そして、インスタンス上で、いくつかを呼び出しをします。 |
complextoolbarcontrols | この例では、複雑なToolbarコントロール使用して、ツールバー・アドオンを、どのように作成するかを示します。それは、画像ボタン、コンボボックス、スピン・フィールド、編集フィールド、ドロップダウン・ボックス、トグル・ドロップダウン・ボタンと通常のドロップダウン・ボタンを、どのように使用するかを示します。 |
追加の情報:
LibreOffice 24.2 Basicの例
プログラム例は、サンプル ディレクトリ内の LibreOffice 24.2 ドキュメントに埋め込まれています。LibreOffice 24.2 Basicのソースを表示または編集するために、適切なドキュメントを選択し、[ツール]->[マクロ]を選択します。
例のほとんどは、独立していますが、それらの2つ(Indexの作成とASCIIファイルのImport/Export)は、.txtファイル(名前接尾辞)で識別される関連するデータ・ファイルを持っています。
また、例のいくつかは、Javaで利用でき、あなたは、Javaセクションで、それらを見つけることができます。
例 | 解説 |
---|---|
外観を変更する | 特定の単語に使用されるスタイルを変更するために、次の例から始めることができます。このコードは、the の後に 1 つの小文字が続くテキスト部分を表す正規表現 the[a-z] を検索します。これら 4 つの文字は、すべて太字に変更されます。プログラムの次の部分でも同じことが起きますが、今回は、 all[a-z] の外観が斜体に変更されます。この例を機能させるために、開いているテキスト ドキュメントから実行する必要があります。 |
テキストを置き換える | あなたが、編集のために、他の人から文書を定期的に受け取る場合、あなたは、特定の単語が、常に同じに書かれていることを確認したいかもしれません。次の例は、特定の単語が、アメリカ英語で綴られていることを強制することによって、これを説明します。 この例が、機能するためには、あなたは、開いたテキスト文書から、それを実行する必要があります。現実のアプリケーションのために、外部ファイルから、単語を読み込むことをお勧めします。 |
正規表現を使用する |
自動テキスト変更のもう 1 つの用途は、文体に関する質問に関連しています。 あなたの会社の方針として、特定の単語の使用を避けることになっていると仮定します。あなたは、これらの単語を置き換えたいのですが、コンテキストに応じて適切な置き換えを見つける必要があるため、自動的に置き換えることはできません。したがって、問題のある単語を自動的に削除または置き換えるのではなく、後続の手動レビュー プロセスで目立つように、問題のある単語の色を変更します。 次の例は、2 種類の不要な表現を処理します:絶対に禁止されており、他のものに置き換える必要があるもの、および悪いスタイルであると見なされるもの。変更は、サブルーチンによって実行されます。これを使用すると、リスト内のすべての単語をテキスト文書内で特定の色で表示することができます。リストを短く保つために、単語の変形(複数形、形容詞など)に対応する正規表現を使用します。 |
ブックマークを挿入する |
次の例も、非常に似たようなことを行います。しかしながら、今回は、単語の色は変更せず、それぞれの単語にブックマークを挿入します。したがって、StarOffice ナビゲータを使用して、単語から単語へ直接ジャンプすることができます。ブックマークは、まず、createInstance() を使用して作成する必要があります。次に、 insertTextContent() を使用して現在のテキスト範囲に挿入します。 前の例との主な違いは、markList() の For ループです。現在の単語の色を変更する代わりに、現在の単語に、整数が追加された名前を持つ新しいブックマーク oBookmark を作成します。続いて、このブックマークをその単語に挿入します。 |
インデックスを作成する | LibreOffice 24.2 Writer では、索引に表示する単語をクリックすることで、テキスト文書の索引を手動で作成できます。文書が大きい、または複数の文書のインデックスを生成する必要がある場合、このタスクを自動化する必要があります。 |
ユーロ圏への適応 | 欧州連合(EU)加盟国のほとんどは、2001 年に旧通貨を放棄し、新通貨ユーロを導入する予定です。これには、古い通貨を使用しているすべてのプログラムを変更する必要があります。旧通貨の為替レートは 1999 年末に固定されているため、古いデータを変換することはすでに可能です。次のプログラムは、通貨文字列 DM でフォーマットされたテーブル内のすべての値に対してこれを実行します。 |
ASCII ファイルのインポートとエクスポート | あなたは、StarOffice API の描画機能を使用して、ASCII 入力から画像を生成できます。1 つのアプリケーションは、テキスト データに基づいて、ディレクトリ リストを階層的に表現することです。| |
株価情報更新ツール | あなたが、特定の企業の株価チャートを表示したい場合、毎日ブラウザを開いて検索エンジンにアクセスし、株価を検索して手動で表にコピーすることができます。あるいは、あなたは、これらすべてを、自動的に実行するプログラムを使用できます。次の例は、シート・モジュールに依存しています。URL を使用して、現在の株価を取得します。価格は、各企業ごとに、1 枚のシートで表示されます。私たちは、各シートに、この会社の折れ線グラフと数値を表示します。この機能は、GetValue()、UpdateValue()、UpdateChart() の 3 つのサブルーチンに隠されています。 |
フォームとコントロール | サンプル 文書の Burger Factory には、希望するハンバーガーの種類、飲み物、トッピング、ソースを注文するために使用できるフォームとコントロールがいくつか用意されています。「Order now!」のボタンを押すと注文が確定します。 |
追加の情報:
オブジェクトのリンクと埋め込み(OLE)の例
例 | 解説 |
---|---|
ActiveX Control |
ActiveXコントロールは、COM 技術を介して UNO にアクセスする例を示します。StarOffice バージョン 6.0 または OpenOffice 1.0 以降が適切にインストールされている必要があります。これは、Lite ActiveX コントロールであるため、このようなコントロールの使用を許可するコンテナー内でのみ使用できます。これは、HTML ページの 注記:この例は Windows でのみ動作します。MS .Net C++ コンパイラを使用しない場合は、makefile をチェックしてコメントに注意してください。 |
WriterDemo | このVisual Basic スクリプトは、空のテキスト文書を作成し、テキスト、表、およびテキスト フレームを挿入します。 |
追加の情報:
共通言語基盤構造(CLI)の例
例 | 解説 |
---|---|
スプレッドシートの例 | この例は、 C# で記述されており、スプレッドシート文書がどのように作成され、コンテンツが入力されるかを示しています。この例は、実際には、SpreadsheetSample.exe、GeneralTableSample.exe、ViewSample.exe という 3 つの個別の実行可能ファイルで構成されています。 |
WriterDemo | この例は、VB.NETで記述されています。それは、テキスト文書を作成し、そして、テキスト、表とテキスト・フレームを挿入します。 |
追加の情報:
