質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

1回答

5008閲覧

PowerPointで、人生ゲームのルーレットのようなマクロを作成したい

tnt_0105

総合スコア2

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2020/12/19 07:21

編集2020/12/19 07:42

前提・実現したいこと

いま、PowerPointにて、すごろくのような物を作成しています。そこで、『1〜6の乱数を発生させ、その乱数の出目になるようにルーレットを回転させる』マクロを作成しています。1〜6の乱数を発生させるマクロまでは完成したのですが、その値に応じてアニメーションが実行されるようなマクロを作成できません… MicroSoftのページを参考に、『アニメーションを設定(スピン)して実行できるようなコードが載っていないか』と探していましたが、日本語がわかりにくく、英語も読めなくてわからない状況です… 下にあるのは乱数を生成するまでのマクロです。この後ろに、乱数の値が出目として出るアニメーション(強調効果:スピン)をつけたいです。必要になりそうな情報は一番下に補足でつけておきます。まだまだ勉強中で未熟な部分もあるので必要な情報が揃ってないかもしれません…

最終目標としては、『1〜6の乱数を発生させ、その乱数の出目になるようにルーレットを回転させる』マクロを、動作設定できるボタンにつけて、スライドショー中にボタンを押せばそのアニメーションが実行されるようにしたいです!

もし、可能でしたら、スピンが終わる時に滑らかに終了するような効果も付け加えてもらえるととても嬉しいです…
長文で失礼いたしました。大変身勝手・わがままな要望であることは重々承知しております… 詳しい方々の回答を是非いただきたいです。よろしくお願いいたします!

イメージ図

該当のソースコード

VBA

1Sub ルーレット() 2 3Dim min As Integer 4Dim max As Integer 5 6 ' 乱数の最大値と最小値を定義 7min = 1 8max = 6 9 10 ' min~maxの間の乱数(整数値)を取得 11Dim num As Integer 12 13Randomize 14num = Int((max - min + 1) * Rnd + min) 15 16End Sub 17

補足情報

OS:Macを使用 
アニメーションをつけたい対象について(ルーレット):1枚目のスライド Shapes(2) 名前は"Picture41"
アニメーションの効果について:スピン(強調効果の1つ) 回転角は生成された乱数をnとしたら、(3600+60×n)°

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/12/19 07:24

「MicroSoftのページを参考にしてるんですが、翻訳が微妙でうまく設定できません」とのことですが、そのページにルーレットをアニメーションさせるコードは載っているんでしょうか であればそのMicroSoftのページのURLを記載して下さい。
tnt_0105

2020/12/19 07:29

すみません、文章表現が下手でした… 実際は、「MicroSoftのページを参考に、『アニメーションを設定(スピン)して実行できるようなコードが載っていないか』と探していたが、日本語がわかりにくく、英語も読めなくてわからない…」という状況です。 わかりづらく、大変申し訳ありません…
guest

回答1

0

ベストアンサー

私もtnt_0105さんと同じく初心者です。
アニメーションを動かすのは難しそうなので、まず
私だったらデジタル表示のルーレット作りを目指します。

私も初心者なのでコードを示せませんが、
以下のように少しずつ作っていけば何とかなるんじゃないかなと思います。
2までできれば最低限のルーレットの機能は達成できると思います。

1.16の乱数を発生させる
2.テキストボックスや四角形のオブジェクトにその数字を表示させる
3.1
2を数回繰り返すように改良する
4.数字が切り替わるのが肉眼でも見えるよう、Sleepかwaitを使って繰り返し処理に小休止をいれる。

私なら4までできたら満足ですが、さらに改良しても良いかもしれません。
5.繰り返しの回数をランダムに変更させる
6.繰り返された数を数えて小休止の間隔を変える

投稿2021/01/07 23:45

SnowMonkey

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tnt_0105

2021/01/08 05:57

参考にさせていただきます! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問