[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/09/08(Wed) 15:15
投稿者名:マスカット
URL :
タイトル:
クリップボードを介する理由
いつも拝見させて頂いております。

現在、VB6.0からExcel2000を使用した帳票を出力するプログラムを作成中です。
Oracleから取得したデータをExcelに渡す際、以下の2つのどちらの方法が
あると思うのですが、そのように使いわければいいのかわかりません。

@クリップボードを介して渡す
AExcelシートに直接貼り付ける
 xlSheet.Cells(行INDEX,列INDEX).Value = データ 

今回はデータが多いので、@の方法で繰り返し実行していると、
クリップボード貼り付けの際に、エラーが生じる場合があります。

今回、Excelに渡したいのは数字データと文字データのみで表等ではないので、
Aでいいのではないかと思うのですが、いまいち確信が持てません。
私が現在作成しているのは、あるパッケージのカスタマイズなのですが、
もともとのパッケージでは、数字データや文字データを出力するだけなのに、
全て@の方法でExcel帳票を出力しているのです。

クリップボードを介すとどのようなメリットがあるのでしょうか?
また、普通はどのように@とAの方法を使い分けるのでしょうか?

よろしくお願いいたします。

投稿時間:2004/09/09(Thu) 00:29
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: クリップボードを介する理由
クリップボードを介する手法は、あまりお奨めできません。
処理としては手軽ですが、クリップボードは全てのアプリが使う共有のリソースなので、
特定のアプリが占有してしまう状況は、あまり好ましい物では無いと思います。

手段(2)として、オートメーション操作による直接貼り付けの方法を
書いておられますが、できれば、クリップボードを使うのではなく、
Excelを直接操作された方が良いかと思いますよ。

ただ、一つ一つのセルに値を渡すと言う手法は、非常に効率が悪いので、
できれば配列を使って、複数のセルに一括して値を代入した方が良いでしょうね。

投稿時間:2004/09/09(Thu) 10:54
投稿者名:マスカット
URL :
タイトル:
Re^2: クリップボードを介する理由
ご返答ありがとうございました。
クリップボードを使用しない方法でやってみようと思います。
また、Excelへの渡し方も効率よくいくよう考えてみます。

非常に助かりました。
ありがとうございました。