VBAで円弧(もどき)を描画するプログラムを書いた話
こんばんわ。
今回はついにパワプロ以外の話をします。
何の話かといいますとVBAの話です。
とか言っても10000件のデータを条件に応じて抽出して条件ごとに別のシートに書き出すものではなくて、円弧(もどき)を描画するプログラムです
それではコードの紹介に参りましょう。
Sub PseudoArcDraw() '直訳すると「円弧もどきを描画」 Dim x As Single Dim y As Single Dim Radius As Single Dim Sine As Single Dim Cosine As Single Dim StartDegrees As Single Dim EndDegrees As Single Radius = 100 '半径を指定 x = 200 '横方向の座標(単位はポイント)を指定 y = 200 '縦方向の座標(単位はポイント)を指定 StartDegrees = 0 '起点角度(単位は度数法)を指定 EndDegrees = 90 '終点角度(単位は度数法)を指定 Sine = Sin(2 * 3.1416 * ((360 - StartDegrees) / 360)) 'VBAのSin関数がラジアン角で指定する仕様になっているので、ここで度数法からラジアン角に変換。 Cosine = Cos(2 * 3.1416 * ((360 - StartDegrees) / 360)) 'VBAのCos関数がラジアン角で指定する仕様になっているので、ここで度数法からラジアン角に変換。 With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, x + (Cosine * Radius), y + (Sine * Radius)) 'ここで線の起点位置を指定。 For Degrees = StartDegrees To EndDegrees '起点から終点までの角度を指定。 'この場合は0(右端)から90(上端)までの1度刻みで変化する円弧もどきが描画される。 'ここをいじれば任意の角度の円弧もどき、Stepを用いれば五芒星も描画可能。 Sine = Sin(2 * 3.1416 * ((360 - Degrees) / 360)) 'VBAのSin関数がラジアン角で指定する仕様になっているので、ここで度数法からラジアン角に変換。 Cosine = Cos(2 * 3.1416 * ((360 - Degrees) / 360)) 'VBAのCos関数がラジアン角で指定する仕様になっているので、ここで度数法からラジアン角に変換。 .AddNodes msoSegmentLine, msoEditingAuto, x + (Cosine * Radius), y + (Sine * Radius) '起点(もしくは前に描画された線の終点)から縦方向にCos(変数Degreesの値)×半径、横方向にSin(変数Degreesの値)×半径の線を描画。 Next Degrees .ConvertToShape.Select 'これをしないと書いた線が図形にならない。 End With End Sub
…え?せっかく円弧(msoShapeArc)があるのだからそれで書けばいいじゃんって?
いやいや、今回この話をしたのは理由がある。それは…
ワイは実際の鉄道会社が使うような路線図をだれでも比較的簡単に書けるVBAプログラムを書く、という目標があるからだ!
そして今回このプログラムを書いた理由は…
円弧(msoShapeArc)使うと座標を取得したその後がいろいろとめんどくさいからだよ!!!!
(90度なら問題ないが、45度などにするとshapse.width等で取得した座標と線の終点がずれる)
なので「円弧(もどき)」でお茶を濁した、という具合です。
以上!
追記:コードに誤りがあったので修正しました。
(12)パワプロオリジナル架空選手 森加偉投手
こんばんわ。2日連続で更新できるほどネタが有り余っています。
あと、先日投稿した中沢君のダウンロード数が10を超えていて、しかもDL数週間ランキングに乗っていました!
今回はパワプロの架空選手の話です。
今回は年齢設定は21歳(大卒)にしています。
では選手の紹介に参りましょう。
森 加偉投手
メガネがチャームポイント(?)の左腕投手。
高校では目立った活躍はして来なかったが、大学で地道に積み重ねた努力が実りドラフト上位候補となった。
特にスライダー、カーブ、シュート、ツーシームをリズムよく投げ込むピッチングの評価は高い。
だが、クイックは苦手(その分牽制は得意)。成績が良くない選手との対戦では気を抜いてしまう一面も。
因みに、大学で専攻した分野は生物学らしい。
パワナンバー 13200 60493 92713
皆さんも是非機巧派左腕で遊んでみてくださいね!
またタグ検索で「ペナント」と検索するとワイの作成した選手含め100選手以上の多様多種な架空選手が見られま すので、是非ともそちらもダウンロードしてみてください!
ワイの作った選手をオリジナルチームに使用したり、そのチームを利用した動画を撮る際に別に報告はいりませんし、どんどん使ってもいいですが、自作選手と標榜するのだけはやめてください。
以上!
(11)パワプロオリジナル架空選手 今川卓人遊撃手
こんばんわ。今回はサクサクセス産の選手でいい感じになった選手を紹介します。
年齢設定は21歳(大卒)にしています。
では選手の紹介に参りましょう。
今川卓人遊撃手
京田や源田のような駿足堅守の遊撃手。
流し打ちで内野安打を打ったかと思えば、次の打席では引っ張り方向に鋭いライナーを打ち3塁打にするなど多様な打法を使い分けることができる選手です。
だが、それはバットに当たればの話で、実際のところそこまでは打率は高くは無いのが残念な所。
また、ノリがよく、ベンチのメンバーと観客をいつも楽しませてくれます。
パワナンバー 13600 70463 84233
皆さんも是非バッティングセンス溢れる駿足遊撃手で遊んでみてくださいね!
またタグ検索で「ペナント」と検索するとワイの作成した選手含め100選手以上の多様多種な架空選手が見られま すので、是非ともそちらもダウンロードしてみてください!
ワイの作った選手をオリジナルチームに使用したり、そのチームを利用した動画を撮る際に別に報告はいりませんし、どんどん使ってもいいですが、自作選手と標榜するのだけはやめてください。
以上!
(10)パワプロオリジナル架空選手 中沢蒼洋外野手
こんばんわ。遂にこのシリーズも10記事目です。
今回はパワプロの架空選手の話です。
今回は年齢設定は17歳(高卒)にしています。
では選手の紹介に参りましょう。
中沢 蒼洋外野手
抜群の身体能力がウリの高卒外野手。
その能力は本物で、中学時代からメジャーのスカウトも注目していた。
その才能は高校でも遺憾なく発揮され、チームを甲子園優勝に導いた。
ただ、守備とヒッティングはまだまだ発展途上、今後の活躍に期待がかかる。
パワナンバー 13100 80474 39579
皆さんも是非超ロマン型外野手で遊んでみてくださいね!
またタグ検索で「ペナント」と検索するとワイの作成した選手含め100選手以上の多様多種な架空選手が見られま すので、是非ともそちらもダウンロードしてみてください!
ワイの作った選手をオリジナルチームに使用したり、そのチームを利用した動画を撮る際に別に報告はいりませんし、どんどん使ってもいいですが、自作選手と標榜するのだけはやめてください。
以上!
(9)パワプロオリジナル架空選手 河野裕介投手
こんばんわ。2日ぶりです。
今回はパワプロの架空選手の話です。
今回は年齢設定は17歳(高卒)にしています。
では選手の紹介に参りましょう。
河野 裕介投手
縦に落ちるスライダーが武器の高卒投手。
あまりコントロールが良くなく四球を続けて出してしまうこともしばしば。
ですが、球のノビは球速の割には悪くは無い。また奪三振率も高く今後が楽しみな選手でもある。
要約すれば、ロマン型選手という所だろうか。
パワナンバー 13300 00413 16685
皆さんも是非ロマン型ピッチャーで遊んでみてくださいね!
またタグ検索で「ペナント」と検索するとワイの作成した選手含め100選手以上の多様多種な架空選手が見られま すので、是非ともそちらもダウンロードしてみてください!
ワイの作った選手をオリジナルチームに使用したり、そのチームを利用した動画を撮る際に別に報告はいりませんし、どんどん使ってもいいですが、自作選手と標榜するのだけはやめてください。
以上!
スマホからでも結構書けるもんだな〜。
(8)パワプロオリジナル架空選手 小山田翔汰内野手
こんばんわ。ものすごく放置してしまった気がします。
言わずもがな今回もパワプロの架空選手の話です。
今回は年齢設定は20歳(社会人3年目)にしています。
では選手の紹介に参りましょう。
小山田 翔汰(おやまだ しょうた)内野手
非力だが、器用なユーティリティ(?)内野手。
前年のドラフトで指名漏れした悔しさをバネに、流し打ちを練習し結果として社会人リーグで最優秀選手に輝いた努力家でもある。
しかし、脚があまり早くなく、長打コースの打球が2塁打になることもしばしばある。
パワナンバー 13200 40403 61514
皆さんも是非ユーティリティ内野手で遊んでみてくださいね!
またタグ検索で「ペナント」と検索するとワイの作成した選手含め100選手以上の多様多種な架空選手が見られま すので、是非ともそちらもダウンロードしてみてください!
ワイの作った選手をオリジナルチームに使用したり、そのチームを利用した動画を撮る際に別に報告はいりませんし、どんどん使ってもいいですが、自作選手と標榜するのだけはやめてください。
以上!
(7)パワプロオリジナル架空選手 中野涼央遊撃手 - とくになにもないよ
こんばんは。できるだけ週2~3回の頻度でブログの更新をしたいしょむさしです。
今回はパワプロのオリジナル架空選手の記事です。
今回は年齢設定は21歳(大卒)にしています。
では選手の紹介に参りましょう。
中野 涼央(なかの りょう)内野手
俊足が売りの大型内野手、彼にとっては内野安打も二盗も朝飯前。
その盗塁センスは相手ピッチャーへのプレッシャーへとなり失点を誘う。
また時折渋いバッティングも見せる。
パワナンバー 13700 20443 58590
皆さんも是非スピードスターでで遊んでみてくださいね!
またタグ検索で「ペナント」と検索するとワイの作成した選手含め100選手以上の多様多種な架空選手が見られますので、是非ともそちらもダウンロードしてみてください!
ワイの作った選手をオリジナルチームに使用したり、そのチームを利用した動画を撮る際に別に報告はいりませんし、どんどん使ってもいいですが、自作選手と標榜するのだけはやめてください。
以上!
前→
(6)パワプロオリジナル架空選手 溝田智宏選手 - とくになにもないよ
←次
まだない