[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ:ブック非表示フォームのみ表示』(やま)
こんにちは マクロでブックを開くとユーザフォームが開くようになっています。 ここで質問なんですが、マクロを有効にし開いた瞬間、ユーザフォームが出てくるのですが、エクセルのブックを表示させない方法ありますか? ユーザフォームだけ表示させたいのですが・・・ ほぼ、ユーザフォーム上で処理が終わってしまいますので、 エクセルのシートは非表示フォームのみ表示って事をしたいんです。
エクセルアプリケーションのウィンドウサイズを最小化する、 と言うことでしょうか。(不知詠人) Application.WindowState = xlMinimized
失礼しました、上記コードでは単にエクセルが最小化になるだけですね。 ウィンドウを気にならない程度に小さくするとか・・・。(不知詠人) With Application .WindowState = xlNormal .Top = 0 .Left = 0 .Height = 15 .width = 150 End With UserForm1.Show
ブックのウィンドウの場合。 ActiveWindow.Visible = False UserForm1.Show ThisWorkbook.Windows(1).Visible = True
もしアプリケーションウィンドウを非表示にするときは 他にもブックを開いて作業しているときにExcelが非表示になると不便なので、 開かれているブックに応じて場合分けした方が良いと思います。 (INA)
皆さんどうもありがとうございます。 INAさん、このコードはThis WorkBookに書けばいいのでしょうか? 一応今まではモジュール1に不知詠人さんが最初に言われていたみたいに Sub auto_open() ActiveWindow.DisplayWorkbookTabs = False'←今回の件とは無関係です Application.WindowState = xlMinimized'←最小化? UserForm3.Show End Sub としていたのですが、一瞬シートが表示されているのが見えて 完全にユーザフォームしか見えないようにしたいんです。 (見た目、ブックが表示されない。ユーザフォームのみが起動しているように 見えるのがベストなんですが)
>INAさん、このコードはThis WorkBookに書けばいいのでしょうか? 標準モジュールならauto_open。 thisworkbookもじゅーるならopenイベントプロシージャ。 どちらでも構いません。
>一瞬シートが表示されているのが見えて あらかじめ ThisWorkbook.Windows(1).Visible = false を実行してブックを保存しておけばよいと思います。 (メンテナンス時のみTRUEにする。)
あとはブックoepnでUserForm1.Show ユーザーフォームモジュールのcloseでブックもthisworkbook.close
(INA)
えっとなんか自分の説明が悪かったです。 シートを非表示と言うよりもブックのウインドウ自体を表示したくないので エクセル開くとauto_Openでユーザフォームが開いてバック画面はディスクトップ 見たいな感じにしたいんです。つまりウィンドウの最小化なんでしょうけど、 それだと開くときに一瞬ウィンドウ見えちゃうのでそれがいやだったんです。
> シートを非表示と言うよりもブックのウインドウ自体を表示したくないので ↓ ↓ ブック Excel の間違い?
ブックのウィンドウではなく、 Excelのアプリケーションウィンドウを非表示にしたいということであれば、 マクロの有効・無効などのメッセージが表示されるように、 マクロ実行前にExcelが起動するので、理屈から考えて不可能ですよ。
このようなツールならあります。 http://homepage2.nifty.com/kmado/ksoft7.htm (INA)
>理屈から考えて不可能ですよ。 そうですよね・・・分かりました。
ちなみに、外部ファイルを使ってもよいなら、VBSからExcelを起動すれば、 いきなりユーザーフォームを表示することは出来ます。 (INA)
VBS初めて聞きました。ちょっと調べてみます。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.