Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6235 / 76735 ←次へ | 前へ→

【76102】Re:シート上の図形の再描写
発言  独覚  - 14/9/25(木) 16:14 -

引用なし
パスワード
   ▼ど素人 さん:
>しかし矢印1本でテストした際、2本描かれるようになってしまい、調べたところ
>>>Set wk_中身 = ActiveSheet.Shapes.AddConnector(obj, left, top, width, Height)
>で1本目
>
>>>wk_中身.Line.BeginArrowheadStyle = 中身.Line.BeginArrowheadStyle
>で2本目が描かれ
>
>>>wk_中身.Line.EndArrowheadStyle = 中身.Line.EndArrowheadStyle
>がどうやら2本目に対して実行されているようです。

これに関しては
>>ActiveSheet.Shapes.AddConnector(obj, left, top, width, Height).Select
>>If 中身.Line.BeginArrowheadStyle = msoArrowheadTriangle Then
>>  Selection.ShapeRange.Line.BeginArrowheadStyle = msoArrowheadTriangle
>> End If
>>If 中身.Line.EndArrowheadStyle = msoArrowheadTriangle Then
>>  Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
>>End If
>部分を
>>  Dim wk_中身 As Variant
>を追加したうえで
>>Set wk_中身 = ActiveSheet.Shapes.AddConnector(obj, left, top, width, Height)
>>wk_中身.Line.BeginArrowheadStyle = 中身.Line.BeginArrowheadStyle
>>wk_中身.Line.EndArrowheadStyle = 中身.Line.EndArrowheadStyle
>としてはどうでしょうか?
で、置き換え前に含めて、置き換え後に無くすことで
>ActiveSheet.Shapes.AddConnector(obj, left, top, width, Height).Select
を削除することを示したつもりでした。
なので
>ActiveSheet.Shapes.AddConnector(obj, left, top, width, Height).Select
を削除してください。

あと、向きに関してはこちらでもわからず、さらに矢印が斜めになっている場合
右下へ向かう矢印だとそのまま再描画できますが右上へ向かう矢印だと
右下へ向かう矢印として描画してしまうようです。

で、いくつか試してみて
ActiveSheet.Shapes.AddConnector(obj, left, top, width, Height)
部分で「left」が開始X座標、topが開始Y座標、widthが終了X座標、heightが
終了Y座標になるためleftよりwidthが大きければ右向き、leftがwidthより
大きければ左向きの矢印に、topとheightも同じようになるようです。

けれども既に入力されている図形から始点座標、終点座標を求める方法は
わかりませんでした。
(現在のプログラムでは始点・終点ではなく左上、右下の座標を求めているため
向きが逆になったりしてるようです)

お役にたてなくてすみません。

0 hits

【76096】シート上の図形の再描写 ど素人 14/9/24(水) 13:06 質問
【76098】Re:シート上の図形の再描写 独覚 14/9/24(水) 14:30 発言
【76101】Re:シート上の図形の再描写 ど素人 14/9/25(木) 15:27 発言
【76102】Re:シート上の図形の再描写 独覚 14/9/25(木) 16:14 発言
【76099】Re:シート上の図形の再描写 独覚 14/9/24(水) 16:45 発言
【76120】Re:シート上の図形の再描写 ど素人 14/9/30(火) 14:40 お礼

6235 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free