AppDesigne​rで作成したアプリの​テーブルコンポーネン​トの値をクリップボー​ドへ格納する方法

7 visualizzazioni (ultimi 30 giorni)
和也
和也 il 24 Ago 2022
AppDesignerで作成したアプリのテーブルコンポーネントに出力した値を
クリップボードに格納したいと思います。
どのようにすればよろしいでしょうか?

Risposte (1)

交感神経優位なあかべぇ
テーブルのデータをどのようなデータ形式としてクリップボードにコピーするのか、また、テーブル内のデータはどのようなデータ形式を持つことを想定しているのか、分からなかったので、とりあえず、文字列型、数値型を持つテーブルのデータを列間はコンマ、行間は改行コードを挿入した文字列に変換して、クリップボードにコピーするボタンを作成してみました。
g = uigridlayout('ColumnWidth', {'1x'}, 'RowHeight',{'1x', 25}); % 2行を持つgridlayoutの作成
t = uitable(g, 'Data', {1,'a'; 'b', 2}, 'ColumnEditable', true);% テーブル作成
uibutton(g, 'ButtonPushedFcn', @(src, event) CopyClipbord(t), 'Text', 'クリップボードへコピー');% クリップボードコピー関数を呼び出すボタン作成
function CopyClipbord(t)
clipbordData = '';
for rowIdx = 1 : size(t.Data, 1)
for columnIdx = 1 : size(t.Data, 2)
data = t.Data{rowIdx, columnIdx};
if isnumeric(data)
data = num2str(data);% 数値は文字列へ変換
end
clipbordData = [clipbordData, data, ','];% テーブルのひとつのセルの値と, の代入
end
clipbordData(end) = newline; % 列間を示す,を削除し、改行コードを挿入
end
clipbordData(end) = ''; % 末尾の改行コードを削除
clipboard('copy', clipbordData);% クリップボードへ文字列をコピー
end
下記はクリップボードへのコピーの結果の貼り付け
1,a
b,2

Categorie

Scopri di più su 環境と設定 in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!