diary主にVBAネタを扱っているブログです。環状矢印を複数個つなげてリング状にするマクロVBAオートシェイプで矢印を綺麗な環状に並べたい場合がある。その名の通り「環状矢印」というシェイプを使うのだが、手でやるとなかなか綺麗にできない。試しに手でやってみたのがこちら。そこで今回は環状矢印を綺麗に並べるためのマクロを作成してみた。'ここで指定したリングサイズになる。0~0.2くらいまでを、少数で指定する。'ここで指定した数の矢印が書かれる。Function実行方法Draw360DegreeCircularArrowsを実行すると冒頭の図のように矢印が綺麗に環状に並ぶ。定数で指定されている設定値を変えることで違った結果になる。実行結果サンプルNUMBER_OF_ARROWSに12を指定したのがこちら。ARROW_THICKNESSを0.05に指定したのがこちら。NUMBER_OF_ARROWSとARROW_THICKNESSはバランスを取る必要があり、太い矢印で個数を増やしすぎるとバグる。ARROW_THICKNESSが0.2、NUMBER_OF_ARROWSが12の結果がこちら。ARROW_THICKNESSを0.5にしてみると。ARROW_THICKNESSが0.2でも、NUMBER_OF_ARROWSが少ないとサマになる。角度補正についてSTART_DEGREE_OFFSETがマイナス90度、END_DEGREE_OFFSETがマイナス110度となっている。実は矢印の頭のサイズ分、.Adjustments.Item(eStartDegree)と.Adjustments.Item(eEndDegree)では角度の開始値がズレているためだ。このままではとても分かりにくいので、両方とも時計の12時を0度として時計回りの角度で指定できるようにするためにオフセット値を引いて角度を補正している。税法条文のカッコ書き部分にオリジナルの書式を適用する。重複データを探すというのは比較的よくやる処理だけれど、デー...2017-11-29VBAでランダムかつセキュリティポリシーを満たす8桁のパスワードを生成する今回はパスワードを生成するコードを紹介する。中級者を悩ませるプロシージャ分割をマスターする極意タイトルで大きく出てしまった。はてなブログPro弓道と英語が趣味のVBAプログラマーです。大阪でシステム運用の仕事をしています。このブログに掲載しているコードは利用規約の範囲で自由にお使いください。VBAの無料入門教材を配布していますので、VBAを初めてみたい方、ぜひお立ち寄りください。Amazonアソシエイト・プログラムの参加者です。はてなブログをはじめよう!t-homさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。