• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PowerPoint・マクロ・計算しているような動きの処理)

PowerPoint上でのマクロ処理による動きの制御方法

このQ&Aのポイント
  • PowerPoint上でボリュームのある計算をマクロに組んで実行させると、画面がガチャガチャと動くことがあります。そんな動きをパワーポイント上でボタンを配置し、タイミングを調整して表示させる方法を教えてください。
  • 現在、ボタンを配置し、マクロを実行させることはできていますが、2秒という時間に収まらず、フォームの表示がうまくいかない問題が発生しています。また、スライドの文字を変更させて戻すという方法も試しましたが、瞬時に終了してしまいます。より効果的な方法があるのでしょうか。
  • PowerPoint上でマクロ処理による動きを制御する方法について教えてください。ボタンの配置とマクロの実行はできていますが、2秒という時間で行いたい動きに制限できず、フォームが正常に表示されない問題があります。スライドの文字の変更も試みましたが、一瞬で終了してしまいます。より効果的な方法を教えていただけませんか。

質問者が選んだベストアンサー

  • ベストアンサー
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

計算その他の繰り返し処理中の画面更新を 遅くして見せたいということですね。  間に何もしない待ち時間をはさめばいいわけです。 便利なのでよく使うのはAPI関数のSleep Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)   'これは1行です Private Sub CommandButton1_Click() Dim i As Long For i = 1 To 10 '計算などの処理のコードをここに '(文字や画像がかわる) DoEvents Sleep 300 'ミリ秒 Next End Sub

yuky-4126
質問者

お礼

遅くなりましたが、回答ありがとうございます! そうですね。0.5秒ずつ止めるとかもありですね。 今試行錯誤中です。 ヘンテコな質問にありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PowerPoint VBAコマンドボタンでのマクロ

    PowerPointでVBAを使ったフォームを作製しました。 そのフォームを表示させるためマクロを書き、スライド上に コマンドボタンを配置させマクロを実行させたいと思っています。 ExcelのVBAですとコマンドボタンにマクロを割り当てるのは ツールバーのフォームのコマンドボタンで設置すると簡単ですが PowerPoint VBAですとコントロールツールボックスでのコマンド ボタンしかなくボタンにマクロを割り当てる方法が分かりません。 どなたかコマンドボタンにマクロを割り当てて実行する方法を 教えて下さい。 宜しくお願い致します。

  • PowerPointのマクロについて

    PowerPointのマクロについて質問です。 実践したいのは、 『ボタン(オブジェクト)をクリックすると、吹き出しが表示される』 というものです。 「オブジェクトの動作設定」-「マウスのクリック」-「マクロの実行」 で出来ると思うのですが、VBでマクロが書けません… どなたかご存知の方、ご教授いただけると幸いです。

  • 別ブックのマクロよりコマンドボタンを押下する方法

    当方、VBAに関しては初心者です。 EXCEL2000のVBAで作成したプログラムAの操作を、マクロを使って別のブックに記録させたのですが、マクロを実行しても途中で操作が止まってしまいます。 マクロを変更することで解決できる方法がわかる方がいらっしゃったら教えてください。 ※RocketMouseのようなWindows操作制御ソフトが会社では利用禁止とされていて使えません。 ちなみにVBAで作成したプログラムAは ・ユーザーフォーム上に2つのコマンドボタン(「次へ」「終了」)と4つのラジオボタンがあります。 ・「次へ」を押下すると別のユーザーフォームへ遷移します。 ・遷移先のユーザーフォームにはコマンドボタン(「戻る」)があります。 ※ただし、会社の資産であるためプログラムAを変更することはできません。 マクロで記録した操作は以下の(1)~(4)です (1)ラジオボタンはデフォルト表示のままで (2)コマンドボタン「次へ」を押下して別のユーザーフォームへ遷移 (3)遷移先のユーザーフォームでコマンドボタン「戻る」を押下 (4)(1)のユーザーフォームに戻った後コマンドボタン「終了」を押下 別のブックに(1)~(4)の操作を記録させ実行しましたが、(2)でコマンドボタン「次へ」が押下されず、別のユーザーフォームへ遷移できません。 マクロの変更で別のユーザーフォームへ遷移させる方法を教えてください。 ※コマンドボタン「次へ」の関数はPublic Subで定義されてます。 よろしくお願いします。

  • エクセル:マクロ処理

    エクセルファイルにマクロを入れておき、あるボタンを押したらそのマクロが1回だけ実行される。 というようにしたい。 (質問)   ボタンは、どう作るか。コマンドで作るのか。   ボタン処理のところのマクロ記述はどんな感じのコードか。   このファイルを開いたときマクロを有効とするかは有効にするでいいんですよね。 (参考) ワークシート   ボタン1を表示しておく   マクロ   ボタン処理   実行処理 マクロend

  • エクセル:マクロを実行しているときの、めまぐるしい画面の動きを

    マクロを実行しているとき、実際のアクティブシートで処理されている動きがディスプレイ上でめまぐるしく動きますが、 (1)例えば、マクロの実行中の間中、「しばらくお待ちください!」だけを表示したい。 (2)可能ならば、あと約何分で終了という表示をしたい。 せめて、(1)だけでもしたいのですが、お願いします。

  • パワーポイントのマクロについて

    パワーポイントで簡単なマクロ(アニメーションを動かさないで、スライドショーを実行する)を作りました。そしてユーザー設定からツールバーにボタンとして配置しました。 ところが、一度そのパワーポイントを閉じてしまい同じファイルや違うファイルを開くと、そのマクロが無効になってしまいます。 私がお聞きしたいのは、 「一度作ったマクロを次回から開くすべてのパワーポイントファイルで使えるようにすることはできるのか?」 です。 どうかご存じの方いらっしゃいましたら、よろしくお願い申し上げます。

  • PowerPointの画面切り替えタイミング

    PowerPointで、次のようなスライドを作成しました。 スライド1:画面上のボタンで2へ移動 スライド2:3秒間表示 スライド3:画面上のボタンで1へ移動 スライド2は、画面切り替えタイミングの指定で3秒にしてあります。 (画面切り替えの「クリック時」チェックボックスは全スライドOFF) スライドショーをスタートさせるとスライド1が表示されます。 スライド1の画面上のボタンを押すとスライド2が表示され、3秒後に スライド2が表示されます。 スライド2の画面上のボタンを押すとスライド1が表示されます。 ・・・と、ここまではいいのですが、ここでスライド1の画面上のボタンを押すと、スライド2を表示したまま3秒経っても画面は変わりません。 なんとかならないでしょうか?

  • access2010/ポップアップ/自動カウント

    access2010を使用しています。 ポップアップで『10秒後に処理を開始します。』OKボタン、cancelボタン を表示したいと考えています。その後、 ポップアップを何もボタンを押下しなければ、自動的にマクロを実行したいです。 OKボタンを押せばすぐに処理が開始されます。 cancelボタンを押すと、処理は何もしません。 10秒は正確でなくても問題ありません。 Sleep (1000)等で1秒毎にカウントダウンし、それをForで繰り返し実行すれば出来そうですが、 ポップアップを表示しているときにそれが可能でしょうか? ご教授お願いします。

  • エクセルXPと2000でのマクロ

    初歩的な質問になりますがご存知の方は是非教えて下さいm(__)m EXCELXPでリストから並び替えのマクロを記録させてフォームボタンに登録したのですがそのマクロをEXCEL2000で開いて実行しようとすると「コンパイルエラー/プログラムまたはライブラリィがありません」とでて実行できません。 ボタンでなくメニューバーからマクロを実行すると実行できます。 番号の振り直しのマクロもフォームボタンからは上記同様できません。 でも●●シートへ戻るとか振り仮名を表示するとか非表示にするとかはフォームボタンからでも実行できます。 EXCEL2000で同じ操作のマクロを作ってフォームボタンに新たに登録しなおすとボタンからの実行が出来るようになりました。 VBA画面でみるとエラーの箇所に「DataOption1:=xlSortNormal」とでていて(こちらはEXCELXPで作ったマクロ)EXCEL2000で作ったマクロと比べると「Orientation:=xlTopToBottom」と出ていて違うみたいだなぁと・・・。 でも基本的にVBA画面はあまり分からないので、なんでボタンから操作するとエラーが出たのか分かりません。理由が分からないので修正もできません。(┰_┰) 2000とXPと両方で開くことが多いのでどちらでも実行できるような状態にしておきたいのですがどうしたらいいのでしょう?何故こんなエラーがでてしまうのでしょう?対策はどうしたらいいのでしょう? どうかご存知の方、宜しくお願いしますm(__)m 因みにEXCEL2000のPCのOSは98でEXCELXPのPCのOSはXPです。

  • PowerPointスライドショーのマクロ

    Office XPのPowerPointのマクロで2つのスライドショーを制御したいと考えています。 <想定している動作> 1)スライドショーAはエンドレスで流れている 2)スライドショーA内にあるリンクボタンを押すと、スライドショーBが流れ始める(マクロを実行) 3)スライドショーBは1回流れるとスライドショーAに切り替わる 4)スライドショーAがエンドレスで流れ始める マクロを途中まで作成したのですが、4)で、スライドショーAがリンクボタンを押した状態のまま固まってします。 ソースは以下です。 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub slide()   PowerPoint.Presentations.Open ("C:\スライドB.ppt") With     ActivePresentation.Slides.Range.SlideShowTransition .AdvanceOnClick = msoFalse .AdvanceOnTime = msoTrue       '表示秒数  .AdvanceTime = 30000 End With With ActivePresentation.SlideShowSettings .ShowType = ppShowTypeSpeaker .LoopUntilStopped = msoFalse '繰り返し上映はしない .ShowWithNarration = msoTrue .ShowWithAnimation = msoTrue .RangeType = ppShowAll .AdvanceMode = ppSlideShowUseSlideTimings .PointerColor.SchemeColor = ppForeground .Run End With   Sleep (1000) SlideShowWindows(Index:=1).View.Next Sleep (1000) SlideShowWindows(Index:=1).View.Next Sleep (1000) SlideShowWindows(Index:=1).View.Exit Sleep (1000) ActivePresentation.Close PowerPoint.ActiveWindow.Activate End Sub どなたかお分かりになる方いらっしゃいますか? 上のソースをベースにしなくても良いので、ぜひアドバイスお願いします!

専門家に質問してみよう