1

アプリから Numbers または Excel シートにデータをコピーしたいと考えています。データはほとんどが整数で構成されていますが、一部の画像も含まれています。最初にNSTableViewにデータを入れてから、メソッドを介してデータをペーストボードに書き込むことでこれを達成しようとします:

- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard*)pboard
{
    NSArray * dataToPaste = [NSArray arrayWithObjects:[NSString stringWithFormat:@"%ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t",
                                               data1,
                                               data2,
                                               data3,
                                               data4,
                                               data5,
                                               data6,
                                               data7,
                                               data8],
                                               [An NSImage], nil];
    [pboard writeObjects:dataToPaste];
    return YES;
} 

最後に NSImage を追加しないと、すべてのデータが適切にコピーされますが、配列に NSImage を追加するとすぐにイメージのみがコピーされ、2 つの NSImage を追加すると最初の 1 つだけがコピーされます。私は何を逃したのですか?

どんなアイデアでも大歓迎です!

EDIT:ところで、Numbers.appでさえ、テキストと画像の両方を含むコピーセルをExcelにもTextEditにもドラッグできないことに気付きました。ただし、Numbers ファイル間では機能します。

4

1 に答える 1

0

NSArray * dataToPaste = [NSArray arrayWithObjects:[NSString stringWithFormat:@"%ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %@", data1、data2、data3、data4、data5、data6、data7、data8]、[NSImage]、nil]; [pboard writeObjects:dataToPaste];

イメージの場合は "%@" 形式指定子を使用し、NSnumber の場合は %ld を使用します。これが解決策になる可能性があります。

于 2013-07-19T10:35:05.230 に答える