/* 選択されたセルブロックの範囲格納用 */
Array bk_cell;
/* コピ対象範囲の格納用 */
Array cp_cell;
・・・・・・・(略)
SSpread SSpread1 {
X = 14;
Y = 137;
Width = 565;
Height = 440;
・・・・・・・(略)
Function OnBlockSelected( e ) {
/* 選択範囲の保持 */
^.bk_cell["sCol"] = e.BlockCol;
^.bk_cell["sRow"] = e.BlockRow;
^.bk_cell["eCol"] = e.BlockCol2;
^.bk_cell["eRow"]= e.BlockRow2;
}
Function OnRClicked( e ) {
/* popupMenuメソッドを利用して右クリックメニューを実装 */
var xml_txt = "<?xml version=\"1.0\" encoding=\"SHIFT_JIS\"?>
<menudefine>
<menuitem id=\"1\" title=\"書式とデータをコピー\" />
<separator />
<menuitem id=\"2\" title=\"書式とデータを貼り付け\" />
</menudefine>";
var domimpl = new xmlDOMImplementation;
var dom = domimpl.parse(xml_txt);
/* XMLデータをpopupMenuへセット */
var id = popupMenu(dom);
if(id == 1){
/* セルブロック範囲をコピー対象として保存 */
^.cp_cell["sCol"] = ^.bk_cell["sCol"];
^.cp_cell["sRow"] = ^.bk_cell["sRow"];
^.cp_cell["eCol"] = ^.bk_cell["eCol"] ;
^.cp_cell["eRow"]= ^.bk_cell["eRow"];
}else if(id == 2){
/* クリックしたセルへコピーしたセルブロックを設定 */
try{
CopyRange(^.cp_cell["sCol"], ^.cp_cell["sRow"],
^.cp_cell["eCol"], ^.cp_cell["eRow"], e.Col, e.Row);
}catch(e){
//.MessageBox("正しくコピーができませんでした。");
}
}
}
}
|