- ベストアンサー
Powerpoint 2003でのVBA UserFormの表示方法
- PowerpointのVBA UserFormの表示方法について解説します。
- ツールバーにボタンを追加し、UserFormを表示する方法を説明します。
- ModalからModelessにUserFormを修正する際に表示されない問題の解決方法を紹介します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- Personal.xlsでUserFormを開く
Personal.xlsに登録したマクロでBookのUserFormを開くには? 環境:EXCEL2000 Windows7 Book1.xlsにUserForm1を作りました。 Book2.xlsにもUserForm1を作りました。 (Book1のUserForm1とBook2のUserForm1は異なるForm) Personal.xlsに次のSubを追加しました Public Sub DispForm1() ActiveWorkbook.UserForm1.Show vbModeless End Sub ツールバーに釦を追加しマクロ「DispForm1」を登録しました やりたい事 (1)Book1を開き釦を押すとBook1のUserForm1を表示する (2)Book2を開き釦を押すとBook2のUserForm1を表示する 問題点 釦を押すと 「オブジェクトは、このプロパティまたはメソッドをサポートしていません」 のエラーがでる アドバイスよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 2つのユーザーフォームの表示切替(Excel2002VBA)
Excel2002VBAを使用しています。 UserForm1 に CommandButton1 を配置したものと UserForm2 に CommandButton2 を配置したもの があります。 UserForm1が表示されている時、CommandButton1 を クリックすると、UserForm2 が表示され UserForm1 が非表示になり、 UserForm2 が表示されている時 CommandButton2 をクリックすると UserForm1 が 表示され UserForm2 が非表示になる というように 画面上にどちらか一方だけユーザーフォームを表示 させたいのですが上手くいきません。 CommandButton1 の Clickイベントに UserForm2.show vbmodeless Unload UserForm1 CommandButton2 の Clickイベントに UserForm1.show vbmodeless Unload UserForm2 と記述したのですが、実行すると、 ”このオブジェクトは、ロードまたはアンロード することはできません。”とエラー表示が出てき ます。 何とぞご教授よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロ実行中のメッセージ表示
お世話になります。 Excel2000マクロ実行中に、「処理中です」等のメッセージを表示したいのです。メッセージのUserFormを作成しましたが、マクロ実行中は、Caption(Formのタイトル部分)以外は、Formが白く表示されるだけです。ステップインで確認する時は正常に表示されます。 コードは、標準モジュールに UserForm1.Show (0) としました。 よろしくお願いいたします。 ※UserFormを使用する以外にも、メッセージを表示する方法があれば、それでも結構です。
- ベストアンサー
- オフィス系ソフト
- Visual BasicのUserFormが閉じづらい
Excel2000,VisualBasicのUserFormの閉じ方で困っています。 マクロ起動中にUserForm1.Show,UserForm1.Hide,UserForm2.Show,UserForm2.Hideを 何度も繰り返していると、同じUserFormが重複してメモリーに残っている 状態で、閉じるために「×」を何度もクリックしています。 作業を長時間するとフリーズ状態もしくはエラーになります。 尚、Load.Unloadでも同じ結果になりました。 どなたか解決方法を教えてください、宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロでUserForm1を作って下記のようなコードを実行す
エクセルのマクロでUserForm1を作って下記のようなコードを実行すると UserForm1を一瞬だけ表示して消えるのかと思ったのですが、表示されたまま消えません。 Unload UserForm1のところを UserForm1.Hideにしても同じです。 表示されたUserForm1を閉じるにはどうしたらよいですか。 Sub test() UserForm1.Show Unload UserForm1 End Sub
- ベストアンサー
- Visual Basic
- VBAでユーザーフォームの表示を確認
VBAでユーザーフォームが表示されていなかったら UserForm1.Show vbModeless で表示させるようなプログラムを組みたいのですが 表示されているかどうかはそのようなコードで調べることができますでしょうか?
- ベストアンサー
- Visual Basic
- EXCEL VBA UserFormで困っています。
EXCEL VBA UserFormで困っています。 VBAプログラミングで以下のような現象が起こります。 開発環境 WinXP , EXCEL2003 ブックを起動するとメニューが表示され、そこからボタンを押すとuserform1が表示されるというプログラムなんですが、そのボタンを押してuserform1を起動しようとすると『問題が発生したため、 Microsoft Excel Windowsを終了します。・・・ エラー報告を送信する 送信しない』のメッセージが出て起動できない。 UserForm1.Showのステップで一旦止めてステップモードで続行すると正常に動作します。 過去に似た質問を見つけ、そのアドバイスを元に以下を試してみました。 http://okwave.jp/qa/q2001805.html ・エラーの発生行の特定 userform1.showの前に、userform1.label.visible=falseのように、表示、非表示を切り替える命令を出しており、どうやらその表示命令の行でつまづいている事がわかりました。 表示命令を全て消去し実行したところ、現在までは問題なく起動できています。 ・on timeメソッドで時間差をつける ラベルやボタンの表示、非表示命令行をまとめて、 Application.OnTime Now + TimeValue("00:00:01"), "ラベルボタン表示設定" userform1.show といった形で時間差をつけてみました。 結果として、userform1自体は立ち上がるようになったのですが、時間差で実行される"ラベルボタン表示設定"の実行時に「オートメーションエラーです。起動されたオブジェクトはクライアントから切断されました。」と出てくるようになってしまいました。 ラベルはまだ良いのですが、コマンドボタンの表示、非表示は、誤操作を防ぐ手段として非常に重要です。なんとかエラーを出さずにコード通りに起動する方法はありませんでしょうか。
- ベストアンサー
- Visual Basic
- VBAでUserFormでProgressBarとLabelを同時表示できない理由は?
VBAでUserFormをつかってProgressBarとLabelを同時に表示させる。つもりでしたが、ProgressBarが満たされた後Labelが表示されます。その理由と対策を教えて下さい。そのコードを以下に示します。 Sub a() With UserForm1 .Show vbModeless .Label1 = "始めのテキスト" End With s = 1 e = 20000 For i = s To e UserForm1.Label1 = "始めのテキスト" UserForm1.ProgressBar1.Value = i / e * 1000 Next i End Sub お願いします。
- ベストアンサー
- オフィス系ソフト
- マクロ実行時、ユーザーフォームにラベルのテキストが表示されません。
エクセル2003VBAで、マクロ実行時にユーザーフォームを モードレス表示して、そのユーザーフォームにラベル「マクロ実行中です・・・」を貼り付けています。 しかし、処理が追いついていないのか、そのラベルが表示されません。 ユーザーフォームにはコードを記述していません。コードは以下のみです。 UserForm1.Show vbModeless テキストをTrueにしてからマクロ処理のようなコードがあるのでしょうか? お手数をおかけしますが、解決方法をご存知の方よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- UserFormの呼出について
VBAで「出退勤時間管理」のプログラムを作っています。 各種の初期値、設定値をユーザーフォームで入力するのですが、 フォームを出すとき(ツールバーにマクロを登録しています。) 「アプリケーション定義またはオブジェクト定義のエラーです。」と出ます。 ツールバーに登録したマクロは、標準モジュールに記述しています。 試しに、別のエクセルファイルで簡単なマクロを組んでみました。 フォームにテキストボックスを貼り付け、標準モジュールにこれを呼び出すマクロを記述しました。 ---- 標準モジュール------ Private sub OpenForm() UserForm1.TextBox1.Text = "No Problem !!!" UserForm1.Show End sub ------------------------- これはうまくいきました。 全くエラーはでません。 同じように書いたコードが、片方はエラーが出ることが、さっぱりわかりません。 本体のコードは、結構多くファイルサイズが647kBになっています。 コードの量の制限とか、あるのでしょうか。 どなたか詳しい方、助言をお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
ご指示通りの記述でちゃんと表示され、実行結果を変数に代入することができました。 どうもありがとうございました。助かりました。
補足
ご丁寧なご助言どうもありがとうございました。実はModelessでUserFormが開いている間にPowerpoint上で特定の操作をユーザーにしてもらい、それが終了した段階でUserFormのOKを押してもらう、ということをしたかったのでした。 ご提案いただいた方法を利用して試してみます。