AppDesignerで作成したアプリのテーブルコンポーネントの値をクリップボードへ格納する方法
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
AppDesignerで作成したアプリのテーブルコンポーネントに出力した値を
クリップボードに格納したいと思います。
どのようにすればよろしいでしょうか?
0 comentarios
Respuestas (1)
交感神経優位なあかべぇ
el 24 de Ag. de 2022
テーブルのデータをどのようなデータ形式としてクリップボードにコピーするのか、また、テーブル内のデータはどのようなデータ形式を持つことを想定しているのか、分からなかったので、とりあえず、文字列型、数値型を持つテーブルのデータを列間はコンマ、行間は改行コードを挿入した文字列に変換して、クリップボードにコピーするボタンを作成してみました。
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
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!