• ベストアンサー

'ユーザーフォーム右上隅の[×]ボタンを表示しない

cj_moverの回答

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.4

#3、cjです。 x32ビット環境向けに、修正案です。 もしかして、#3の記述でうまくいかないことがあれば、 >  DrawMenuBar nHwnd ' メニューバーを再描画する 一旦、この一行分の記述を削除して試してみて下さい。 問題なければ、そのままでも大丈夫です。 この修正は一部の環境でのみ必要なものですが、 もし心配でしたら、予め削除しておいた方がエラーフリーです。 あらためてx32ビット環境(xl2000,xl2003)で動作確認しました。 XP/Excel2000の方では、この記述があるせいで不正終了でした。 (メンテしていないPCなので、そのせいかも知れませんが) なお、x32|x64ビット環境と、ここで書いているのは、 MS Office(Excel)をインストールする際に x32ビット版|x64ビット版のどちらを選んでいるか、 ということですので、 OS(Windows)が、x32ビット版|x64ビット版のどちらか、 ということではありませんので、誤解無きよう。 それから念の為ですが、 > Private Declare Function > Private Declare Sub Declareの後に(4ヶ所)全角空白が入ってしまっていますが、 これは投稿文編集時のミスです。 通常はこのままでも、 コードペインに貼り付けた時点で正しく書き換えられますが、 書き換えられない環境の場合は修正しておいてくださいませ。 以上、追加補足でした。

関連するQ&A

  • 複数のユーザーフォームをコマンドボタンにて表示・非表示させるには

    VBA勉強中のものです。 複数のユーザーフォームをコマンドボタンを使用して画面への表示切替を考えております。 例)ユーザーフォーム1,ユーザーフォーム2,ユーザーフォーム3のそれぞれにコマンドボタン1,コマンドボタン2,コマンドボタン3を作成し、   コマンドボタン1→ユーザーフォーム1を表示   コマンドボタン2→ユーザーフォーム2を表示   コマンドボタン3→ユーザーフォーム3を表示 とするようなことを考えおります。  そこで、下記のようにコードを作成したのでですが,一度表示させたユーザーフォームを再度表示させようとコマンドボタンをクリックしたら、「フォームはすでに表示させているのでモーダル表示はできません」とエラーがでてしまいます。   どなたか、どのようにしたらいいかご教授ねがいます。 サンプルコード) --------------------------------------------------- 'UserForm1のコード Private Sub CommandButton2_Click() Call UserForm2_show UserForm1.Hide End Sub Private Sub CommandButton3_Click() Call UserForm3_show UserForm1.Hide End Sub ---------------------------------------------------- 'UserForm2のコード Private Sub CommandButton1_Click() Call UserForm1_show UserForm2.Hide End Sub Private Sub CommandButton3_Click() Call UserForm3_show UserForm2.Hide End Sub ------------------------------------------------------- 'UserForm3のコード Private Sub CommandButton1_Click() Call UserForm1_show UserForm3.Hide End Sub Private Sub CommandButton2_Click() Call UserForm2_show UserForm3.Hide End Sub ------------------------------------------------------------ '標準モジュール コード Sub UserForm1_show() UserForm1.Show End Sub Sub UserForm2_show() UserForm2.Show End Sub Sub UserForm3_show() UserForm3.Show End Sub

  • ユーザーフォーム

    エクセルでユーザーフォーム上にコマンドボタンを配置し、特定のコマンドボタンを押した時に、他のユーザーフォームを呼び出せるようにしたいのですが、どうしたらいいのでしょうか。

  • 【VBAユーザーフォームで閉じるボタンを表示したくない】

    ユーザーフォームの右上閉じるボタン(×)を表示しない方法が見当たりません。 どなたかご存知の方、ご教授願います。 開発言語:Excel2000VBA OS:Windows2000

  • ユーザーフォームが表示前にエラーになります。

    お世話になります。 Excelのシート上にコマンドボタンを配置して それをクリックするとユーザーフォームが表示されるようにしたいのですが、下記のコードだと「フォーカスがありません」と1行目でエラーで止まってしまいます。 解決方法を教えてください。 Private Sub コマンドボタン_Click() ユーザーフォーム.Show End Sub よろしくお願いします!

  • ユーザフォームの押下コマンドボタンの区別は?

    Excel2007のVBAについて質問します。初心者です。 コマンドボタンが2個あるユーザフォームを表示します。それぞれのボタンが押されると対応する処理をして制御がユーザフォームを表示した直後に戻るようになっています。 このとき、どちらのボタンが押されたのか区別する方法をご教示頂きたくよろしくお願い致します。

  • エクセルのユーザーフォームについて

    現在、ワークシートの内容を見やすくするためにユーザーフォームを使用し表示させています。印刷は、ユーザーフォームにコマンドボタンを配置し、ワークシートを印刷しています。 せっかくユーザーフォームで見やすいレイアウトにしているので、表示させた内容をユーザーフォームごと印刷できればと考えています。 画面のハードコピーとかではなくて、コマンドボタンをクリックすることで印刷したいのですが、どなたか教えてください。

  • ExcelVBAでユーザーフォームの右上にある最小化ボタンを表示したい

    通常フォームには右上に最小化、最大化、閉じるボタンがあると思いますがExcelVBAで、フォームを作ったときには最小化ボタンがありません。 これを表示させるにはどのようにしたらよいのでしょうか? 回答よろしくお願いします。

  • ExcelVBAでユーザーフォームの閉じるボタン「×」を使用できなくする方法

    VBAで、ユーザーフォームを開くと右上に「×」の閉じるボタンがありますが、これを使用できなくする方法を教えてください。 回答よろしくお願いします。

  • ユーザーフォームのHide,showメソッド

    ExcelのVBAでユーザーフォームをHideメソッドで非表示にして、 showで再表示すれば、状態が保存されたまま表示されるはずですが、 ユーザーフォーム表示中またはHideメソッドで隠した後に コマンドボタン等が配置されたシートを削除したときは、showで再表示しても、 ユーザーフォームの状態が保存されていません。 これはどうしてでしょうか? また解決策等ありましたら、教えてください。

  • エクセルVBA ユーザーフォームの終了について

    エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)