コピーと貼り付け
Firefox 互換性に関する注意
Firefox は clipboard.readText() をサポートしていません(MDN 参照)。このため Firefox 環境では、Univer は貼り付けイベント経由でしかクリップボード内容を取得できず、キーボードショートカットによる貼り付けのみが機能します。
Univer は Clipboard API を用いてコピー & ペースト機能を実装しており、外部アプリケーション ⇄ Univer、ならびに Univer シート間でのコピー/貼り付けをサポートします。
セキュアコンテキスト要件
近年のブラウザのセキュリティポリシーにより、Clipboard API は HTTPS などのセキュアコンテキスト内でのみ利用可能です。
Univer は次のコピー/貼り付け操作をサポートします:
- 外部アプリケーションから Univer へのコピー&貼り付け
- Univer から外部アプリケーションへのコピー
- Univer シート間でのコピー&貼り付け
また、以下の「形式を選択して貼り付け」機能をサポートします:
- 値のみ貼り付け
- 書式のみ貼り付け
- 列幅のみ貼り付け
- 枠線を除く内容のみ貼り付け
- 数式のみ貼り付け
デスクトップの Ribbon には、元に戻す・やり直すの隣に貼り付けメニューがあります。通常の貼り付け、値、書式、列幅、罫線以外の貼り付けを選択できます。メニュー ID は sheet.menu.paste で、コンテキストメニューの形式を選択して貼り付けは sheet.menu.paste-special を使用します。図形のテキスト編集中は Ribbon の貼り付けメニューが非表示になります。
コピー機能の無効化
Univer では 権限制御(permission control) により、ワークブック全体または特定シートに対してユーザーのコピー操作を無効化できます。
以下のコード例は、現在アクティブなワークブックでユーザーのコピー機能を無効化します:
const workbookPermission = univerAPI.getActiveWorkbook()?.getWorkbookPermission()const WorkbookCopyPermission = univerAPI.Enum.WorkbookPermissionPoint.CopyContentif (workbookPermission) { workbookPermission.setPoint(WorkbookCopyPermission, false)}権限制御の詳細は Permission Control ドキュメントを参照してください。
このガイドはいかがですか?