牛、豚、鶏、どれか一つ食べられなくなるとしたら?

office365パワーポイントにてデジタルBINGOカードを作成しようと思ったのですが
票の挿入で5×5の25マスに数字を入力した後、スライドショー時に一マスをクリックすると
色が変わる動作などの機能はあるのでしょうか?
代替えとなる案でも良いのですが、似たような機能があればお教え頂ければたすかります。

A 回答 (1件)

こんばんは


>一マスをクリックすると色が変わる動作などの機能はあるのでしょうか?
アニメーションの協調などで設定する事が出来ると思います。

やり方は色々ありそうですが、一定範囲の数値をランダムに表示するのは
アニメーション機能で実現するのは、難しい様な気がします。

Excelで作った方が簡単なのですが、PowerPointとなると
PowerPoint VBAでやる方法となった場合、PowerPoint VBAは分かりますでしょうか・・

VBAで作成する場合、マスを何で作るかで変わってきます。
ActiveXコントロールや□シェイプ、表など・・・

長い事か回答されていないようなので
無駄になってしまうと思いますが、マスに入れるランダム配置の数値を出力するコードをサンプルコードで書きました。

スライド1にコマンドボタンを25作成して (Labelで良かったかしら)
(オブジェクト名はそのままで、Captionは空白で1つ作りあとはコピペ・・5つ位になったら纏めてコピペで作成するのが早いと思います。)
下記コードを他のシェイプなどに登録、実行します

Sub NumberSET_Click()
Dim nAry() As String
Dim i As Long, iRnd As Long, n As Integer
Dim buf
Dim shp As Shape
Const max_count As Integer = 50 '1~最大数値
 ReDim nAry(max_count)
 '数値の配列作成
 For i = 0 To max_count
  nAry(i) = i + 1
 Next
 'シャッフル
 If UBound(nAry) < 1 Then Exit Sub
 For i = UBound(nAry) To 1 Step -1
  iRnd = Int((i + 1) * Rnd) '乱数
  buf = nAry(iRnd)  '配列インデックスを乱数で入れ替える
  nAry(iRnd) = nAry(i)
  nAry(i) = buf
 Next
 For i = 0 To UBound(nAry)
  For Each shp In ActivePresentation.Slides(1).Shapes
   If shp.Name Like "CommandButton" & n + 1 Then
    With shp.OLEFormat.Object
     .Caption = nAry(n)
     .BackColor = RGB(255, 255, 255)
    End With
    n = n + 1
    Exit For
   End If
  Next shp
 Next
End Sub

あとはボタンを押した時に
ボタンの添え字をつけて下記を呼べば色も変わると思います。

Sub Object_BackColor(n As Integer)
Dim shp As Shape
 For Each shp In ActivePresentation.Slides(1).Shapes
  If shp.Name Like "CommandButton" & n Then
   With shp.OLEFormat.Object
    If .BackColor = RGB(255, 255, 255) Then
     .BackColor = RGB(51, 102, 255)
    Else
     .BackColor = RGB(255, 255, 255)
    End If
   End With
   Exit For
  End If
 Next shp
End Sub

エラー対策、色設定、不要クリック回避などが必要かと思います

□シェイプ、表であればアニメーション効果と数値設定VBAで出来そうですね
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご回答者様提案通り、標準機能では見当たらなさそうでしたので、
色々調べていたらPowerPoint VBAでボタンorラベルのオブジェクトプロパティを変更すれば実現できそうだなと、ウェブで調べながら作成しているところでした、ところどころ実装がうまくいかず手こずってましたが、記載頂いた参考例をもとになんとか実現できました。

大変助かりました。ありがとうございます。

お礼日時:2022/01/17 21:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報