Calc Guide Chapter 11, Linking Data ノート

Using multiple sheets

Why use multiple sheets?

Chapter 1, Introduction ではスプレッドシートにおける複数シートの概念を紹介した。複数シートは情報整理に役立つ。これらのシート同士をに何らかの関係が定義されれば Calc の能力が完全に発揮される。次の場合を考える:

John は個人的な財務状況を把握するのに苦労している。彼は銀行口座をいくつか持っているが、その情報は散乱しており、整理されていない。すべてを一度に見ることができるようになるまで、自分の財務をうまく把握することができない。

これを解決するために、John は LibreOffice Calc で財務を追跡することにした。 John は Calc が簡単な数学計算ができることを知っており、口座の残高を一度に確認できるように概要シートを設定したい。

Note

今さらだが、MS Excel はワークブックと呼ぶものを Calc はスプレッドシートと呼ぶ。Excel も Calc もシートとワークシートという術語を用いる。

Setting up multiple sheets

スプレッドシートに複数のシートを設定する方法は Chapter 1, Introduction で学習した。

Identifying sheets

新規スプレッドシートを開くと Sheet1 という名前のシートが一枚含まれる。この挙動を Options ダイアログボックス LibreOffice Calc‣Defaults ページ で変更可能だ:

  • 新規文書が含むシートの数

  • 新規シートの接頭辞

スプレッドシートの下部にあるタブを使ってシートを管理する。

Inserting new sheets

複数ある方法のどれを選ぶかは利用者次第だ。

  • シートタブ左の + をクリックする

  • Menu バー から Sheet‣Insert Sheet… を実行する

  • Menu バー から Sheet‣Insert Sheet at End を実行する

  • Menu バー から Sheet‣Insert Sheet from File… を実行する

  • シートタブ右クリックメニューから Insert Sheet… を実行する

これらの方法のうち Insert Sheet ダイアログボックス が開くものについては、次のオプションを使ってもよい:

  • 新規シートの挿入位置を現在シートの前か次のいずれにするか

  • 新規シートの枚数

  • 新規シートがただ一枚の場合に限り、新規シートの名前

または Append Sheet ダイアログボックスが開くものについては、新規シートの Name を既定の名前以外のものに指定可能だ。


John のスプレッドシートにはシートが六つ必要である。また、これらのシートにそれぞれ口座の名前を付けたい:

  1. Summary

  2. Checking Account

  3. Savings Account

  4. Credit Card 1

  5. Credit Card 2

  6. Car Loan

単一シートを持つスプレッドシートを新規作成した後、次のいずれかで達成したい:

  • 新規シートを五枚入れし、六枚すべてのシート名を変更する。

  • 既存シートの名前を変更し、五シートを新規に一枚ずつ入れる。

シートを入れて後で名前を変更する手順:

  1. 正しいシートタブが選択されていることを確認し、Insert Sheet ダイアログボックス を開く。

  2. 新しいシートの位置を選ぶ。この例では After current sheet を使う。

  3. New sheet を選び、No. of sheets の後に 5 と入力する。複数のシートを入れるため Name 欄は使用不能だ。

  4. OK ボタン を押してシートを入れる。

シートの名前を変更する以降の手順については Renaming sheets を見ろ。

シートを入れると同時に名前を付ける手順:

  1. Renaming sheets にあるようにして既存のシートの名前を Summary に変更する。

  2. 正しいシートタブが選択されていることを確認し、Insert Sheet ダイアログボックス を開く。

  3. 新しいシートのシートタブの位置を選ぶ。Before current sheetAfter current sheet の使えるもの。

  4. New sheet を選び、No. of sheets の後に 1 と入力する。 Name 欄が使用可能になる。

  5. Name 欄にこの新しいシートの名前、例えば Checking Account と入力する。

  6. OK ボタン を押してシートを入れる。

  7. 新規シートそれぞれに Savings Account, Credit Card 1, Credit Card 2, Car Loan という名前を付ける工程を繰り返す。

Inserting sheets from a different spreadsheet

さらに、Insert Sheet ダイアログボックス には From file オプションがある。シートを追加する手順は:

  1. Browse… ボタン を押すとファイルダイアログボックスが開く

  2. 別の Calc ファイルなどを選択する

  3. シート一覧が現れる

  4. 追加するシートを選択する

Link をオンにすると、参照様式がシートのコピーではなくリンクになる。

  • 他のスプレッドシートから生きたデータを取り込むことを実現する。

  • リンクを更新するには Menu バー から Edit‣Links to External Files… を実行する。

  • 自動更新にしたければオプション設定だ。LibreOffice Calc‣General ページ の Update links when opening ラジオボタングループを好みの項目に変えろ。

信頼できるファイルの場所を定義するには Options ダイアログボックス LibreOffice‣Security ページ で Macro Security… ボタンを押してダイアログボックスを開く。 Trusted Sources タブをクリックして下の欄を埋める。これはスプレッドシートでマクロを使用する場合に有用だ。マクロについては Chapter 13, Macros を見ろ。照してください。

Renaming sheets

シートには意味がある名前を与えろ。既存シートの名前を変える方法:

  • シートタブをダブルクリックする

  • シートタブを Alt を押しながらクリックする

  • シートタブ右クリックメニューから Rename Sheet… を実行する

  • メニューから Sheet‣Rename Sheet… を実行する

以上のいずれの操作でも Rename Sheet ダイアログボックス が開く。ここで新しい名前を Name 欄に入力しろ。

シート名は空であってはならず、既存の名前と重複してはいけない。

Note

次の文字は名前の最初または最後の文字としては使用不可:

: \ / ? * [ ] '

Tip

LibreOffice Calc のインストールによっては、Alt を押しながらシート名をクリックして新しい名前を直接入力することが可能だ。

読者ノート

この操作はオススメ。ダブルクリックだとポップアップが出るぶん遅い。


ここまでの記述により、John は六シートを準備できたとする。

次に勘定元帳を設定する。これは単純な要約で、前回の残高に今回の取引額を加えたものである。引き出しの場合は、残高が少なくなるように、現在の取引を負の数で入力する。基本的な元帳を Figure 8 に示す。

読者ノート

A2:C6 が次のようになっている:

Description

Amount

Balance

Opening Balance

$75.00

$75.00

Pay

$425.00

$500.00

Groceries

-$75.00

$425.00

Cable Bill

-$445.95

$380.05

この元帳は Checking Account シートに設定されている。総残高は升目 F3 で合計される。数式は =C3+SUM(B4:B46) だ。これは升目 C3 の開始残高と、その後のすべての取引を合計したものだ。

Referencing other sheets

他のシートの升目を参照する方法は二つはある:

  • キーボードを使って数式を直接入力する

  • マウスを使って入力する


Summary シートには他の各シートの残高を表示する。Figure 8 の例を五つの勘定科目の各シートにコピーする。現在の残高はシートそれぞれの升目 F3 になる。

Creating the reference with the mouse

Summary シート上で五つの勘定残高の場所を設定し、升目参照をどこに置くかわかるようにする。Figure 9 は Balance 列が空白の Summary シートだ。Checking Account に対する参照を升目 B3 に置きたい。

読者ノート

Summary シートの A2:B7 は次のような構成になる:

Account

Balance

Checking Account

Savings Account

Credit Card 1

Credit Card 2

Car Loan

以下、Balance 列を数式で埋めていく。

升目 B3 に升目参照を作成するには升目を選択して次のようにする:

  1. Formula バー の入力行の横にある = ボタンをクリックする。 Formula バー の図像が変わり、Input 行 に等号が現れる。

  2. 参照する升目を含むシートのシートタブをクリックする。この場合は Checking Account シートだ。

  3. Checking Account シートの升目 F3 をクリックする。Input 行 に $'Checking Account'.F3 が現れ、選択セルは色のついた枠で囲まれる。

  4. Formula バー の Input 行 にある をクリックするか Enter を押して終了する。

以上で Summary シートの升目 B3 に金額が現れる。

Creating the reference with the keyboard

セル参照は部分が二つある。ドル記号が前置されたシート名と升目参照だ。これらはピリオドで区切られていることに気をつけろ。Calc の既定動作はドル記号を付けて絶対シート参照を形成し、相対升目参照を与えるものだ。

Note

シート名は空白文字を含むため単一引用符で囲み、必須ピリオドは常に引用符の外側に置く。

したがって、Savings Account の升目参照を単に中に入力すればよい。残高が普通預金シートの同じ升目である F3 にあると仮定すると、升目参照は

=$'Savings Account'.F3

となる。

Protect spreadsheet structure

文書のシート構成に満足したら、次のシート操作を禁止したい:

  • シートを追加

  • シートを削除

  • シートの順序を変更

  • シートの名前を変更

このためには、メニューの Tools‣Protect Spreadsheet Structure… を実行して構造を固定する。パスワード入力ダイアログボックスが開く。パスワードを適当に入力して OK ボタン を押す。上記の操作が不可になる。

シート操作を解禁するにはこのコマンドを再度実行し、指定のパスワードを入力して OK ボタン を押す。

Referencing other documents

John は家族の口座情報を自分のまとめとは別のスプレッドシートファイルに保存することにした。幸いなことに、Calc は異なるファイルをリンクすることができる。手順は単一スプレッドシートの異なるシートについて説明したのと同じで、どのファイルにシートがあるかを示すためにもう一手間かける。

Creating the reference with the mouse

マウスを使って参照を作成するには、スプレッドシートを両方開いておく必要がある。

  1. 数式を入力する升目を含むほうのスプレッドシートに切り替える。

  2. 数式を入力する升目を選択する。

  3. Formula バー の左にある = 図像をクリックする。

  4. もう一方のスプレッドシートに切り替える。

  5. 参照先シートを選択し、参照先セルを選択する。この時点で Enter を押せば確定。

    John の場合は Savings Account シートを選択して F3 をクリックする。

  6. 参照元シートに切り替えて Formula バー の左にある をクリックする。

以上の手順により、升目の内容が適切な参照式になる。

Formula バー の Input 行 をよく見れば、参照の形式がよくわかるだろう。この行の内容に基づいて、キーボードを使って参照を作成することができる。

Creating the reference with the keyboard

参照元セルの内容として、参照先セルに対する参照式を直接入力すればいい。次のような数式となるはずだ:

='file:///path/to/ods'#$'SheetName'.CellReference

Linking to external data

他の文書のデータをリンクとしてスプレッドシートに挿入可能。

External Data ダイアログボックス を使用する方法と Navigator を使用する方法がある。ファイルに名前付き範囲、データベース範囲、または名前付き表があり、リンクしたい範囲や表の名前がわかっている場合は、External Data ダイアログボックス を使用するとすばやく簡単にできる。しかし、ファイルに複数の範囲や表があり、そのうちの一つしか選択したくない場合、どれがどれなのか簡単に判断できない。

Calc には外部給源からのリンクデータを含めるための他の方法が用意されている。例えば Linking to registered data sourcesDynamic Data Exchange (DDE) を見ろ。

Note

リンク先のファイルの保存場所によっては、更新処理が完了するまでに数分かかることがある。

Using the External Data dialog

The External Data dialog inserts data from an HTML, Calc, CSV, or Microsoft Excel file into the current sheet as a link. Calc utilizes a Web Page Query import filter, enabling you to insert tables from HTML documents.

この操作をインポートと便宜上呼ぶことにする。インポートの手順は:

  1. 外部データインポート先となる ods ファイルを開く

  2. インポート先セル範囲の左上セルを選択する

  3. メニューから Sheet‣External Links… を実行

ここで External Data ダイアログボックス が開く。

  • URL of External Data Source に場所を入力するか、

  • ドロップダウンリストから項目を選択するか、

  • Browse… ボタン からアクセスできるファイル選択ダイアログ

からインポート元を選択しろ。インポート元のデータ種別により、以降 UI の挙動が異なる。

  • HTML ファイルを選択した場合、本書参照。

  • CSV ファイルを選択した場合、Text Import ダイアログボックスが現れる。Chapter 1, Introduction で述べられている手順に合流する。

  • Calc または MS Excelファイルを選択した場合、インポート元に定義されている範囲名とデータベース範囲の一覧がダイアログの Available Tables/Ranges に埋まる。挿入したい項目を選択しろ。

インポートにより、Navigator の Linked areas 欄に新しい項目が追加する。このような項目を

  • ダブルクリックするとシート内のリンクされたデータが強調表示される。

  • マウスホバーするとツールチップにリンクされたデータのパスが表示される。

スプレッドシート内のすべての外部データリンクを一覧表示するには、Menu バー から Edit‣Links to External Files… を実行する。Edit Links ダイアログボックス が開く。一般には、一覧の一部が外部リンクだ。

Note

Edit Links ダイアログボックス は External Data ダイアログボックス を使用して作成されていない他のリンクに関する情報を表示できる。

External Data ダイアログボックス を使用して作成されたリンクについては、Edit Links ダイアログボックス でリンクを選択して Modify… ボタンを押すか、リンクをダブルクリックすることで、再度ダイアログにアクセスできる。Break Link ボタンを押し、選択したリンクを解除することを確認すると、以前リンクされていたデータがスプレッドシートに埋め込まれる。Update ボタンを押すと対象ファイル内のリンクされたデータが元ファイル内のものと一致するように更新される。

Note

Edit Links ダイアログボックス の Status 列には、External Data ダイアログボックス を使用して作成されたリンクの場合、Manual がつねに表示される。この欄に表示される状態は External Data ダイアログボックス の Update every 設定を反映したものではない。

Using the Navigator

Navigator または Sidebar Navigator 甲板 を使用して外部データをリンクすることもできる。Navigator については Chapter 1, Introduction を見ろ。

Navigator を使用して外部データへのリンクを作るには:

  1. インポート先スプレッドシートを開く。

  2. インポート元ファイルを開く(上述のファイル形式が有効)。

  3. インポート先で Navigator を開く。F5 押しが早い。

  4. Navigator 下部のドロップダウンリストからインポート元を選択する。

  5. 必要な範囲名またはデータベース範囲項目を選択し、Navigator からインポート先シートにドラッグして、データ範囲の左上の升目に移動する。

  6. Navigator で、Drag Mode メニューの Insert as Link を選択する。

    範囲名を右クリックし、コンテキストメニューから必要なオプションを選択することで、ドラッグモードを変更することもできる。

    Tip

    Navigator の Drag Mode 図像が変わり、現在選択されているドラッグモードが反映される。

  7. Range names または Database ranges から必要登録項目を選択し、Navigator から対象文書へ、データ範囲の左上の升目にドラッグする。

  8. Navigator 下部のドロップダウンメニューで対象文書を再選択。Range names 横ではなく、Linked areas 横に + 図像が表示される。これをクリックすると、原文書からドラッグされた項目が表示される。

How to find the required data range or table

Calc の Web Page Query インポートフィルターは Web ページから給源順にデータ範囲(表)を表示する。さらに範囲名を二つ作成する:

  • HTML_all: HTML ファイル全体を指定

  • HTML_tables: HTML ファイル内の表すべてを指定

TABLE 要素に ID 属性がある場合、連番を付けた範囲と共に、それらの属性値が範囲名一覧に表示される。

そういう属性値がないインポート元については強調表示機能頼みになる。

Calc で開いた原文書に移動する。Navigator で範囲名をダブルクリックするとその範囲がシート上で強調表示される。Figure 34 の例は <https://en.wikipedia.org/wiki/List_of_best-selling_albums> から抽出した、レコード音楽のベストセラーアルバムの世界年別表だ。

Formula バー が表示されている場合、範囲名は左端の Name にも表示される。範囲名はドロップダウンリストで選択し、ページ上で強調表示することができる。

読者ノート

本書の例を真似ても掲載されている画像のようには現在、ならない。

Linking to registered data sources

さまざまなデータベースと Calc 文書をリンク可能だ。それにはまず、LibreOffice にデータ給源を登録する必要がある。登録とは LibreOffice にデータ給源の型とファイルがとこに位置するかを知らせることだ。これを行う方法はデータ給源が .odb 形式のデータベースであるかどうかによって異なる。

ODB ファイルを登録する手順は Options ダイアログボックス を用いる:

  1. LibreOffice Base‣Databases ページを見る。 Registered databases 一覧を確認する。

  2. New… ボタンを押す。Create Database Link ダイアログボックス を開く。してパスと名前の対応を登録する。

  3. データベースファイルの場所を入力するか、ドロップダウンリストからデータベースファイルを選択するか、Browse… ボタン を押して 開く ダイアログボックス を開き、データベースファイルを選択する。

  4. データベースの登録名として使用する名前を入力し、OK ボタン 押す。データベースが登録済みデータベース目録に追加され、LibreOffice は登録名を使用してデータベースにアクセスする。

Note

Create Database Link ダイアログボックス の OK ボタン は Database file 欄と Registered name 欄の両方が入力されている場合に有効になる。

ODB ファイル以外のデータ元の登録手順:

  1. File‣New‣Database… を実行

  2. Connect to an existing database を選択

  3. ドロップダウンリストから所望の項目を選択、Next > ボタン を押す。

この後はデータベースの種別により異なるが、最後に Finish ボタン を押す。

データ給源が登録されると、Calc を含むどの LibreOffice アプリケーションでも使用可能になる。

Todo

データベース利用ノートと関連するので、試す価値はある。

Viewing data sources

現在スプレッドシートで利用可能なデータ元を閲覧する方法:

View‣Data Sources… (Ctrl + Shift + F4) を実行する

これにより Data Sources 窓がスプレッドシート上部に現れる。この窓は次の四つの部分からなる。

Table Data ツールバー

Table Data ツールバー は既定で Data Sources ウィンドウの上部に配置されている。

Data Source Explorer 窓

Data Source Explorer は既定では Data Sources 窓の左側、Table Data ツールバー の下にある。

Data Source Explorer には登録されているデータベースの目録が表示される。

各データベースを表示するには、データベース名の左にある展開アイコンをクリックする。同様に、Queries の左側にある展開アイコンをクリックすると、選択したデータベース内の個々の質問を表示できる。表名をクリックすると、その表に保持されているすべての登録項目が表示される。

選択表の登録項目(表の各行)

選択表のデータ登録項目は Data Sources 窓の右側、Table Data ツールバー の下の領域に表示される。

この領域により多くの列を表示するには、Table Data ツールバー の Explorer On/Off 図像をクリックしてData Sources Explorer を隠す。再度クリックすると現れる。

データ項目の下には案内棒があり、選択中の登録項目が何であるかと登録項目の総数が表示される。これには次のボタン群がある:

  • First record

  • Previous record

  • Next record

  • Last record

  • Add new record

  • 利用可能な列すべてが可視領域に収まらない場合は横スクロールバー、利用可能な登録項目すべてが可視領域に収まらない場合は、縦スクロールバーがそれぞれ現れる。

表示切り替えハンドル(最下部の細い矩形)

Data Sources 窓の中央下部には、窓全体を隠したり見せたりするコントロールがある。

読者ノート

手許のデータベースファイルが全部破損していて機能を試していない。

Editing data sources

Data Sources 窓で編集できるのは、登録済みのデータ給源のみ。

編集可能なデータ給源では登録項目の編集、追加、削除が可能だ。編集内容を保存できない場合は LibreOffice Base でデータベースを開き、そこで編集する必要がある。また、列を隠したり、表示に変更を加えたりすることも可能だ。

Launching Base to work on data sources

右クリックメニューから Edit Database File… を実行すると LibreOffice Base が起動する。データベース、Tables, 表名、Queries, 質問名を右クリックする。Base に入ると、表、質問、フォーム、報告書を編集、追加、削除することが可能だ。

Base の使い方については Getting Started Guide または Base Guide を見ろ。

Using data sources in Calc spreadsheets

Data Sources 窓の右側に表示されている表のデータは Calc 文書に配置可能だ。

Data Sources 窓で単一升目、単一行、複数行のどれかを選択し、データをシートにドラッグ&ドロップすることが可能だ。マウスボタンを放した位置にデータが入る。行の場合、Calc は追加データの上に列見出しも含める。シートに追加するデータの行を選択するには:

  1. 選択したい最初の行の左にある灰色箱をクリックする。その行が強調表示される。

  2. 隣接する複数の行を選択するには Shift を押しながら、所望の行最後の灰色箱をクリックする。

  3. 複数の別々の行を選択するには Ctrl を押しながら各行を選択する。

  4. すべての行を選択するには、左上隅の灰色箱をクリックする。

別の方法として、Table Data ツールバー の Data to Text 図像を使用すると、入れたデータの上に列見出しも入る:

  1. データの左上に表示したいシートの升目を列名も含めてクリックする。

  2. 前の段落で説明したようにして、シートに追加したいデータの行を選択する。

  3. Table Data ツールバー の Data to Text 図像をクリックしてデータをシートの升目に入れる。

データ給源の列見出し(フィールド名)をシートにドラッグして、個々の登録項目を一度に表示、編集するフォームを作成することも可能だ。手順は次のとおり:

  1. 使用したいフィールド名を含む列の上部にある灰色箱を、シートで登録項目を表示したい場所にドラッグ&ドロップする。

  2. 必要なフィールドをすべて必要な場所に移動するまで繰り返す。

  3. Data Sources 窓を閉じる。

  4. スプレッドシートを保存し、Menu バー の Edit‣Edit Mode を選択するか、Ctrl + Shift + M を押して読み取り専用にする。

  5. Menu バー の File‣Reload を選択する。すべてのフィールドに選択したデータ給源の最初の登録項目のデータの値が表示される。

  6. View‣Toolbars‣Form Navigation を選択して Form Navigation ツールバー を表示する。既定ではこのツールバーは Status バー のすぐ上に開く。

  7. Form Navigation ツールバー の矢印をクリックすると、表のさまざまな登録項目が表示される。ツールバーには、現在表示されている登録項目と、利用可能な登録項目の総数が表示される。登録項目を移動するにつれて現在の登録項目番号が変わり、シートのフィールドデータは特定の登録項目番号のデータに対応するように更新される。

Embedding spreadsheets

  • スプレッドシートを他の LibreOffice ファイルに埋め込むことが可能だ。

  • スプレッドシートは OLE 物または DDE 物として埋め込み可能。

例えば、Calc スプレッドシートが DDE 物として Writer 文書に貼り付けられている場合、Writer 文書からスプレッドシートを編集することは不可能だ。ただし、元スプレッドシートが更新されると Writer 文書で自動的に更新される。

例:スプレッドシートがリンクされた OLE 物として Writer 文書に埋め込まれた場合、Writer でもスプレッドシートを編集でき、両者が互いに同期する。

Object Linking and Embedding (OLE)

OLE 物の主な利点は:

  • ダブルクリックするだけでその内容を素早く編集できる。

  • 物のリンクを挿入することもでき、その場合は図像として表示される。

リンクと埋め込みの差異は、元ファイルのその後の変更に追従するか否かだと思ってよい。後者はデータの静的コピーでしかない。

Note

OLE 物が空かつ活動停止中で、図像として表示されていない場合、それは透明になる。

スプレッドシートを OLE 物として紙芝居に埋め込む手順:

  1. 文書内の OLE 物を配置したい位置にキャレットを置く。

  2. Menu バー の Insert‣OLE Object‣OLE Object… を選択。Insert OLE Object ダイアログボックス が開き、既定で新規作成オプションが選択されている。

  3. OLE 物を新規作成するか、既存ファイルから作成する。

読者ノート

これは Calc 以外のアプリケーションのメニューから Calc 文書を埋め込むことを想定した説明になっている?

新しいオブジェクトを作成する手順:

  1. Create new を選択し、Object Type 一覧から必要なものを選択する。この例では LibreOffice 7.2 Spreadsheet を選択する。

  2. OK ボタン を押す。

  3. LibreOffice はスライドに空の器を配置し、情報を入力できるようにする。既定では Menu バー は Calc Menu バー に変化する。スプレッドシートの領域以外のスライドをクリックすると、Menu バー は元のアプリケーションのそれに戻る。

スプレッドシート領域外をクリックした後、OLE 物をダブルクリックして、物の編集モードに再度入る。その型のファイルを扱うアプリケーション (Calc) が物を開く。

はめ込んだスプレッドシートを保存する手順:

  1. スプレッドシートの外側のどこかをクリックして、編集モードから出る。

  2. スプレッドシート上で右クリックし、コンテキストメニューから Save Copy as… を選択するか、Menu バー から Edit‣OLE Object‣Save Copy as… を選択する。

  3. 新しいファイルの名前と保存先のフォルダーを選択する。

  4. 保存 (S) ボタン を押す。

Note

挿入物が LibreOffice で処理される場合は、物を操作するプログラムへの移行が継ぎ目なく行われる。その他の場合は、物が新しい窓に開き、その挿入物を更新するためのオプションが File‣ メニュー に表示される。

既存物をはめ込む手順:

  1. 既存のファイルから OLE 物を作成するために Create from file を選択する。 Insert OLE Object ダイアログボックス が変化する。

  2. Search… を押し、開く ダイアログボックス で必要なファイルを選択し 開く (O) ボタン を押す。

    Note

    この機能は LibreOffice ファイルに限定されない。他の多くのアプリケーションの既存ファイルを使用して OLE 物を作成可能だ。

  3. 物を原ファイルへのリンクとしてはめ込むには Link to file をオンにする。そうしないと物が埋め込まれる。

  4. 物をファイルの一部ではなく、選択可能な図像として見せたい場合は、 Display as icon をオンにする。

  5. OK ボタン を押す。はめ込んだファイルの部分が文書に示される。原スプレッドシートにシートが複数ある場合は、編集モードでシート間を渡れる。

Other OLE objects

Windows では Insert OLE Object ダイアログボックス で Create new オプションを選択すると Object Type 一覧に Further objects という項目が追加される。

  1. Further objects の項目をダブルクリックして オブジェクトの挿入 ダイアログボックスを開く。

    読者ノート

    LibreOffice ではなく、Windows が備えているダイアログボックスが開く。

  2. オブジェクトの種類 (T) 一覧で選択した型の新しい物をはめ込むため 新規作成 (N) を、既存ファイルから物を新規に作成するには ファイルから作成 (F) を選択する。

  3. 後者を選択した後 参照 (B)… を押し、はめ込むファイルを選択する。挿入物はそれを作成した Windows プログラムで編集可能だ。

    物に代わりにリンクを挿入したい場合は、アイコンで表示 (D) をオンにする。

  4. OK ボタン を押す。

Non-linked OLE object

OLE 物がリンクされていない場合、新規文書で編集することが可能だ。例えば、スプレッドシートを Writer 文書に挿入した場合、基本的に Writer の表組と同じように扱うことが可能だ。ダブルクリックで編集開始。

Linked OLE object

スプレッドシート OLE 物リンクされていて、Writer で変更すると Calc でも変更され、Calc で変更すると Writer でも変更される。Writer 窓だけを開いていればいいということになる。

Note

ただし、一度に編集できるスプレッドシートのコピーは一つに限られる。複数の文書からリンクされている場合、残りの文書からは参照先が読み取り専用扱いとなる。

Dynamic Data Exchange (DDE)

文書 A で選択したデータを、リンクされたオリジナルの生コピーとして文書 B に貼り付けることができる仕組みが DDE だ。例えば、Calc スプレッドシートから取得した販売実績のような、時系列で変化するデータを含む Writer で書かれた報告書があり得る。 DDE リンクにより、参照先が更新されると参照元も更新されるため、エラーの可能性が低くなり、参照元文書を最新の状態に保つ作業が軽減される。

DDEOLE の前身に当たる。DDE では、物はファイル参照を通じてリンクされるが埋め込まれない。DDE リンクは Calc シートの Calc 升目内、または Writer などの別の LibreOffice 文書の Calc 升目内に作成できる。

XML Source

XML Source 機能を使用すると、既存の表計算文書の升目に、任意に構造化された XML 中身からデータをインポートすることができる。この機能では XML 中身の構造や使用者が定義する写像定義に応じて、中身を部分的または全体的にインポートすることができる。使用者は同じ文書内の異なる升目位置に写される複数の重複しない部分構造を指定することができ、要素中身、属性値、またはその両方のインポートを選択することができる。

Note

XML Source 機能では、現在、XML データを一度限りのイベントとしてインポートすることができる。すなわち、データがインポートされると、データ給源に関する情報は保存されない。

次のような XML ファイルに売上データがあるとする:

<sales>
  <sale>
    <date>01/19/08</date>
    <value>$2,032</value>
    <category>Golf</category>
    <region>West</region>
    <employee>Brigitte</employee>
  </sale>
  <sale>
    <date>01/25/08</date>
    <value>$3,116</value>
    <category>Sailing</category>
    <region>East</region>
    <employee>Hans</employee>
  </sale>
  <sale>
    <date>01/26/08</date>
    <value>$2,811</value>
    <category>Tennis</category>
    <region>South</region>
    <employee>Fritz</employee>
  </sale>
 </sales>

このデータを Calc にインポートするには:

  1. Data‣XML Source… を選択する。XML Source ダイアログボックス が開く。

  2. Source File 領域の図像を押す。文書にインポートする XML ファイルのパスを指定する。

  3. 適切なフォルダーに移動し、必要なファイルを選択して 開く (O) ボタン を押す。

  4. Calc は指定されたファイルの内容を読み取り、XML Source ダイアログボックス の Map to Document 領域に XML の構造を表示する。

  5. この例のデータの場合、Map to Document 領域で sale を選択する。これにより、XML 中身の <sale> 項目すべてがスプレッドシートにインポートされる。

  6. スプレッドシートでデータを表示する領域の左上の升目をクリックする。この例の場合、A1 をクリックする。Mapped cell 欄にクリックした升目のテルバックが表示される。

  7. Import ボタンを押す。この動作は、使用者が与えたリンク定義に基づいてインポート処理を開始する。インポートが終了するとダイアログボックスが閉じる。

XML 中身がスプレッドシート内の指定した位置に配置する。

XML Source ダイアログボックス の Map to Document 領域には ソース XML 中身の構造が木として表示される。最初は空で、ソースファイルを指定すると入力される。

木内の各要素は次の三種類のいずれかだ:

  • 記号 @ で表される属性。

  • 記号 </> で表される単一の単発要素。同じ親の下で一度だけ出現する要素だ。文書内の単一セルに写される。

  • 記号 <//> で表される反復要素。反復要素とは同じ親の下に複数回出現する要素だ。複数の登録項目の単一登録項目を囲む親として機能する。これらの項目は、項目の数にヘッダー行を一行追加した高さに等しい範囲にインポートされる。

Mapped cell 欄は要素や属性がリンクされている文書内の升目の位置を指定する。単発要素や属性の場合はリンクされた要素や属性の値がインポートされる升目を指す。反復要素であれば登録項目全体とヘッダーがインポートされる範囲の左上の升目を指す。