メインコンテンツまでスキップ

ペーストボードに内容を書き込む (pasteboard.write)

宣言

pasteboard.write(データ [, Uniform Type Identifier ])
pasteboard.write(クリップボード項目 [, オプション ])
pasteboard.write(クリップボード項目リスト [, オプション ])

引数

  • データ
    文字列型。ペーストボードに書き込む内容
    テーブル型。ペーストボード項目。キーは Uniform Type Identifier、値は文字列データです(20260428 バージョン以降で対応)
    テーブル型。ペーストボード項目のリスト。各要素はペーストボード項目です(20260428 バージョン以降で対応)

  • Uniform Type Identifier
    文字列型。省略可能。Uniform Type Identifiers。デフォルトは "public.utf8-plain-text" です

  • オプション テーブル型。省略可能(20260428 バージョン以降で対応)
    local_only ブール型。この端末にのみ保存します。iOS 10 以降で対応
    expiration_date 数値型。秒単位の Unix タイムスタンプ。iOS 10 以降で対応

    ペーストボード項目の構造
    {
    ["public.utf8-plain-text"] = "普通文本",
    ["public.rtf"] = "RTF 数据",
    ["public.html"] = "HTML 数据",
    ["public.png"] = "PNG 二进制数据",
    ...
    }

戻り値

  • 成否
    ブール型。書き込みに成功した場合は true、それ以外の場合は false を返します

説明

システムのペーストボードに内容を書き込みます
キーワード:ペーストボードに書き込む、クリップボードに書き込む
ペーストボード項目またはペーストボード項目のリストを渡すと、同じペーストボード項目に複数の形式表現を書き込みます。iOS 9 では オプション 引数が無視されます。

使用例

pasteboard.write("hello") -- テキスト "hello" をペーストボードに書き込む
--
pasteboard.write(screen.image():png_data(), 'public.png') -- 現在の画面のスクリーンショットをペーストボードに書き込む
--
pasteboard.write([[{\rtf1\ansi\deff0
{\fonttbl{\f0 Helvetica;}}
{\colortbl;\red255\green0\blue0;}
\f0\fs32 normal {\b bold} {\i italic} \cf1 red\cf0\par
\u20320?\u22909?
}]], "public.rtf") -- RTF リッチテキストをペーストボードに書き込む

-- 20260428 以降のバージョンでは、同じペーストボード項目に複数の形式を書き込めます
pasteboard.write({
["public.utf8-plain-text"] = "normal bold italic red\n你好",
["public.rtf"] = [[{\rtf1\ansi\deff0
{\fonttbl{\f0 Helvetica;}}
{\colortbl;\red255\green0\blue0;}
\f0\fs32 normal {\b bold} {\i italic} \cf1 red\cf0\par
\u20320?\u22909?
}]],
["public.html"] = [[<p>normal <b>bold</b> <i>italic</i> <span style="color:red">red</span><br>你好</p>]],
}, {
local_only = true,
expiration_date = os.time() + 3600,
})

:上記のコードでは、この章以外の関数 screen.image を使用しています