Delphi2007 WindowsXP です。
BMP: TBitmap;
TXT: String;
これを同時にクリップボードにデータを転送して、
Excel に取り込むにはどうすればよいのでしょうか?
ClipBoard.Assign(BMP);
ClipBoard.SetTextBuf(PChar(Text));
テキストしかうけとれません。
すみません。
もうひとつお願いします。
BMP1: TBitmap;
BMP2: TBitmap;
2つの画像をクリップボードに転送して
Excelで2つの画像を受け取る方法も教えてください。
Open
形式1のデータをセット
形式2のデータをセット
Close
という具合にはさんでやれば複数形式のデータをセットできます。
ただ注意してほしいのは、これで実現できるのはあくまで
それぞれのデータが別々にクリップボードに入っていて、
どれか一つを選んで取り出せる状態だということ。
(Excelだと「形式を選択して貼り付け」ですね)
画像とテキストがくっついているわけじゃありません。
というわけで、同じ形式(ビットマップ)を2つ入れるというのは原理的に無理です。
Excel側にもそんなの区別して貼り付ける機能はないでしょ?
どうも、ありがとうございます。
エクセルに画像と文字列が入ったセルをまとめてコピーして、
ワードで貼り付けすると 画像と文字列のセルがコピーされます。
もちろん画像とテキスト(罫線で囲まれていますが)として
コピーされるので、同様にしてDelphiでも出来ないかと思ったのですが
どうなのでしょうか?
Wordの方で「形式を選択して貼り付け」してみるとわかりますが、
HTMLだとかメタファイルだとか色々な形式で格納されていますね。
ただビットマップとテキストが入っているわけではなくて、
そういう複合データを表現できる形式にして入れているわけです。
Delphiからやるとしたら、RTFかHTML形式ですかね。
文字をテキストとして扱う必要がなければメタファイルとか、
いっそまとめて1枚のビットマップにしてしまうのもありかと。
どういう形式があるか、RegisterClipboardFormatあたりを調べてみてください。
皆さんありがとうございました。
複数を設定しても、ワード等で一括して複数を読込むことはできないと
いう事ですよね。
ありがとうございました。
ツイート | ![]() |