名称 | ・・・・・・・ |
複数選択形状のハンドル取得 |
ルーチン名 | ・・・・・・・ |
GetHandlesAndNumber |
スクリプトNo | ・・・・・・・ | sub- 003 |
file名 | ・・・・・・・ | script003.vbs(右クリックのコンテクストメニューでダウンロードできます。(windowsのみ) 修正(2003/05/26)UTF-8からANSIに統一。 |
概略 | ・・・・・・・ |
複数選択形状のハンドルを取得し形状数とハンドル(配列)を引数で返す。 |
使用前提 | ・・・・・・・ |
形状が一つ以上選択されていること。 |
依存関係 | ・・・・・・・ |
特に無し |
引数説明 | ・・・・・・・ |
ShapeHandles:ハンドルの受け取り用変数(バリアント) 取り出した配列を丸ごと保存する。 |
戻り値説明 | ・・・・・・・ |
形状が選択されていればtrueを、一つも選択されていなければfalseを返す。 |
変数説明 | ・・・・・・・ |
RemShape:形状を保管する配列。形状数が10以上ならredimで配列数が再確保される。 |
注意点 | ・・・・・・・ |
ハンドルデータを使用するときはNoOfShapeを利用すること。UboundでもOK |
  | ||
スクリプト | ||
Function GetHandlesAndNumber(ShapeHandles,NoOfShape) Dim remShape(),i '誤りがあったので修正(2003/05/26) redim remShape(10) '同上 RemShape(0)=XShade.FirstHandle() if remShape(0)<>0 then i=0 do i=i+1 if i>9 then reDim Preserve remShape(i+1) remShape(i)=XShade.NextHandle() Loop While remShape(i)<>0 else GetHandlesAndNumber=false:Exit Function end if NoOfShape=i ShapeHandles=remShape GetHandlesAndNumber=true End Function |
||
使用例 | ||
call mainSub() sub mainSub() dim ShapeHandles,NoOfShape 'ShapeHandlesが配列で宣言されていないことに注目してください。 if GetHandlesAndNumber(ShapeHandles,NoOfShape) then for i=0 to NoOfShape-1 XShade.message ShapeHandles(i) next else XShade.message("形状が選択されていません") end if end sub |