PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
20267 | 03/09/05 09:10:46 | RE(3):PB6.5: ImportClipboardが正常に動作しない By sorikomi |
20266 | 03/09/05 01:18:13 | RE(2):PB6.5: ImportClipboardが正常に動作しない By sorikomi |
20265 | 03/09/05 01:11:10 | RE(1):PB6.5: ImportClipboardが正常に動作しない By sorikomi |
20264 | 03/09/04 20:46:40 | PB6.5: ImportClipboardが正常に動作しない By marb |
カテゴリ:スクリプトの記述
日付:2003年09月05日 01:11 発信者:sorikomi
題名:RE(1):PB6.5: ImportClipboardが正常に動作しない
marbさん、おはようございます。
>あるデータウィンドウの内容を別データウィンドウに表示したい
>(Excelをイメージしたコピー&ペーストをしたい)のですが、
>
>?データウィンドウ(dw_1)内の全カラムのTabSequenceを「0」にします。
>?dw_1内の複数カラムを複数行ドラッグし、
> ClipBoard(dw_1.Describe(\"DataWindow.Selected.Data\"))
> によりクリップボードにドラッグしたdw_1のデータを保持します。
>?データウィンドウ(dw_2)に対して、dw_2.ImportClipboard()で
> データを設定します。(ここでは行やカラムの指定は省略します。)
>
>?において戻り値にはdw_2に設定したい行数が返ってきていますが、
>dw_2にはデータとして表示されていません。
>
>どなたか教えて頂けないでしょうか?
>
>ちなみにデータウィンドウはグリッド形式で、
>dw_1とdw_2は同じデータウィンドウです。
>
>以上、宜しくお願いします。
>
dw_1とdw_2は同じフォーマットと考えてよろしいのでしょうか?
同じでしたら、
ClipBoard(dw_1.Describe(\"DataWindow.Selected.Data\"))
にて選択したデータを取得し、
dw_1.Describe(\"DataWindow.Selected\")
にて選択してデータのリストを取得します。(TabSequenceを「0」ですと、GETCOLUMN関数では0が返される為)
結果:「選択開始行/選択最終行/選択カラム1/選択カラム2/・・・」
この結果をPOS関数を使うなどで各々取得し配列などに格納しておきます。
li_aaa = dw_1.describe(\"Datawindow.Column.Count\")
にて、カラム数を取得します。
For li_cnt = 1 TO li_aaa
IF 「選択カラム1」= dw_1.Describe(\"#\"+ string(li_cnt) +\".Name\") THEN
li_cnt?
END IF
NEXT
dw_2.ImportClipboard(選択開始行,選択最終行,1,UpperBound(配列)-2,li_cnt?)
これで正常にできました。
過去ログで「Ctrl」+「c」などショートカットキーで行うものもありました。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS Solaris
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.