Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11113 / 13644 ツリー ←次へ | 前へ→

【17952】エクセルの最小化ボタン なみ 04/9/10(金) 22:00 質問[未読]
【17956】Re:エクセルの最小化ボタン IROC 04/9/10(金) 23:18 回答[未読]
【17973】Re:エクセルの最小化ボタン なみ 04/9/11(土) 19:44 質問[未読]
【17974】Re:エクセルの最小化ボタン IROC 04/9/11(土) 20:17 回答[未読]
【17993】Re:エクセルの最小化ボタン なみ 04/9/12(日) 11:22 質問[未読]
【17994】Re:エクセルの最小化ボタン IROC 04/9/12(日) 12:01 回答[未読]
【17995】Re:エクセルの最小化ボタン bykin 04/9/12(日) 13:38 回答[未読]
【17996】Re:エクセルの最小化ボタン ぴかる 04/9/12(日) 14:08 発言[未読]
【18000】Re:エクセルの最小化ボタン なみ 04/9/12(日) 15:52 質問[未読]
【18001】Re:エクセルの最小化ボタン ぴかる 04/9/12(日) 16:17 回答[未読]
【18002】Re:エクセルの最小化ボタン なみ 04/9/12(日) 16:29 お礼[未読]
【18003】Re:エクセルの最小化ボタン wizik 04/9/12(日) 16:36 回答[未読]
【18005】Re:エクセルの最小化ボタン なみ 04/9/12(日) 21:13 質問[未読]
【18006】Re:エクセルの最小化ボタン wizik 04/9/12(日) 23:33 発言[未読]
【18050】Re:エクセルの最小化ボタン なみ 04/9/13(月) 21:12 お礼[未読]

【17952】エクセルの最小化ボタン
質問  なみ  - 04/9/10(金) 22:00 -

引用なし
パスワード
   エクセルの閉じるボタンは無効にすることができますが、
最小化ボタンは無効にすることはできないのでしょうか?

よろしくお願いします。

【17956】Re:エクセルの最小化ボタン
回答  IROC  - 04/9/10(金) 23:18 -

引用なし
パスワード
   せっかくマルチタスクのアプリケーションですし、
ユーザーには不便なだけなので、
わざわざそのようなことはしないと思います。

目的は何でしょうか?

【17973】Re:エクセルの最小化ボタン
質問  なみ  - 04/9/11(土) 19:44 -

引用なし
パスワード
   ▼IROC さん:
>せっかくマルチタスクのアプリケーションですし、
>ユーザーには不便なだけなので、
>わざわざそのようなことはしないと思います。
>
>目的は何でしょうか?


VBからエクセルを開いています。
VB側でオープンクローズを行いたいので、
閉じるボタンや最小化ボタンを不可にして、
作成した「終了」コマンドで終わらせて欲しいのです。

何かいい方法はないでしょうか?

【17974】Re:エクセルの最小化ボタン
回答  IROC  - 04/9/11(土) 20:17 -

引用なし
パスワード
   >VB側でオープンクローズを行いたいので、
>閉じるボタンや最小化ボタンを不可にして、
>作成した「終了」コマンドで終わらせて欲しいのです。

最小化ボタンと「終了」は別問題ですよね?
>エクセルの閉じるボタンは無効にすることができます
とのことなので、
いまは終了については問題でなく、最小化ボタンについてすよね?

最小化ボタンは使用不可にしても
アプリの切り替えはできるので意味がないように思えますけど
何か理由があるのでしょうか?

【17993】Re:エクセルの最小化ボタン
質問  なみ  - 04/9/12(日) 11:22 -

引用なし
パスワード
   説明が悪かったですね。

VBでアプリケーションを作っていてエクセルを開くようになっています。
エクセルはVBからオープンクローズを行うため、
エクセルはエクセル上に設置した「終了」コマンドで終わらせてほしいのです。
「終了」コマンドの機能はエクセルのVisibleをFalseにするというものです。
エクセルの閉じるボタンで終了するとエクセル自体が終了してしまうため、
エクセルがVisible=Trueの時は閉じるボタンを無効に、
Visible=Falseの時は閉じるボタンを有効に戻しています。

この説明で分かりますでしょうか?

エクセルを開く時は最大化表示で、閉じるボタンと最小化ボタンを無効にすれば、
「終了」コマンドでしか終了できなくなるかと思ったのです。

何かいい方法はありますでしょうか?
よろしくお願いします。

【17994】Re:エクセルの最小化ボタン
回答  IROC  - 04/9/12(日) 12:01 -

引用なし
パスワード
   >閉じるボタンと最小化ボタンを無効にすれば、
>「終了」コマンドでしか終了できなくなるかと思ったのです。

繰り返しになりますが、最小化と終了は関係のないことではありませんか?

最小化ボタンを無効にしたり、
タイトルバーを非表示にしても、
結局アクティブアプリケーションの切り替えは可能ですし、
何も制限出来ないと思います。
EXCELを全画面表示にしておくくらいでよさそうに思えますが、
最小化ボタンを無効にしたい特別な目的が何かあるのでしょうか?

【17995】Re:エクセルの最小化ボタン
回答  bykin  - 04/9/12(日) 13:38 -

引用なし
パスワード
   こんにちわ。

VB側の設計思想から変更したほうがええんとちゃいまっか?
VBからExcelを開いてどんな処理させてるんかはわからんけど、
ま、一般的には何かのデータをエクセルに与えて、その結果を取得するって
ことですわなー。
このときににExcelの画面をユーザーに見せてまうと、そこから先のユーザーの
操作をVB側では制御できへんようになってまいます。
せやから、閉じるボタンなんかを無効にしたいってことなんやろうけど・・・

こういう場合はVB側でデータ受け渡しのシステムを用意しておいて、Excelは
非表示のまま実行させたほうがええと思います。
っていうか、CreateObjectでExcelを実行させたときにデフォルトで非表示に
なってるのは、上記のような理由があるからやと思うねんけどな。

例えば、セルに入力する値をVBのフォーム上で入力させるとか、そんな仕組みを
考えてみておくれやす。
要はVB側ですべての制御ができる環境を構築するってこと。

そういう使い方ができへんのやったらかんにんな。
ほな。

【17996】Re:エクセルの最小化ボタン
発言  ぴかる  - 04/9/12(日) 14:08 -

引用なし
パスワード
   こんにちは。

全画面表示にて、ボタン自体を非表示にするってのは、アカンですか?。

【18000】Re:エクセルの最小化ボタン
質問  なみ  - 04/9/12(日) 15:52 -

引用なし
パスワード
   ▼IROC さんへ

最小化ボタンでエクセルを非表示にしてしまえば、
そのままVBに戻れますよね。
エクセルを最大化にして閉じるボタンを無効に、
最小化ボタンを無効にしてしまえば、
「終了」コマンドでしかVBに戻れないと思ったのです。
エクセル最大化表示のままVBへの切り替えができるのですか?

▼bykin さんへ 

エクセルを表示させたいのには理由があります。
エクセルを開くのは2パターンあって、
VB上の「コマンド1」はエクセルのデータを使用して処理を行うため
非表示で開きます。
「コマンド2」はエクセルを操作してデータの追加を行うため
表示させます。
エクセルファイルはForm Load時に既存ファイルを開き、
「コマンド1」の処理では、その都度必要なシートに切り替えます。
VB上の「終了」コマンドでエクセルを開放します。

エクセルを勝手に操作させたら、その後の処理がVB上でコントロール
できにくくなる等の問題は、ひとまずおいておいて下さい。

▼ぴかる さんへ

>全画面表示にて、ボタン自体を非表示にする

ボタン自体を非表示にするのはどのように行うのですか?
それができれば一番手っ取り早いです。

よろしくお願いします。

【18001】Re:エクセルの最小化ボタン
回答  ぴかる  - 04/9/12(日) 16:17 -

引用なし
パスワード
   こんにちは。

メニューバーの表示→全画面表示です。これだけでは、ダメでした。
メニューバーも消さんとアカンだです。ちなみに、マクロは以下の通りです。

Sub AUTO_OPEN()
  
  With Application
    .DisplayFullScreen = True
    .CommandBars("Full Screen").Visible = False
    .CommandBars("Worksheet Menu Bar").Enabled = False
  End With

End Sub
Sub AUTO_CLOSE()
  
  With Application
    .DisplayFullScreen = False
    .CommandBars("Worksheet Menu Bar").Enabled = True
  End With

End Sub

【18002】Re:エクセルの最小化ボタン
お礼  なみ  - 04/9/12(日) 16:29 -

引用なし
パスワード
   ぴかるさんのコードでボタン非表示にすることができました。

分かりにくい質問ですみませんでした。
答えてくださった皆さんありがとうございました。

【18003】Re:エクセルの最小化ボタン
回答  wizik  - 04/9/12(日) 16:36 -

引用なし
パスワード
   書いている間に解決してしまったようですが・・・

最小化ボタンや終了ボタンを非表示にするだけでは
何の意味もないと思いますよ。

タスクバーのアイコンを右クリックすれば最小化できるし、
Alt + F4 や Alt + Tab などのショートカットキーには
どう対応するの?

なんでわざわざExcelなんて操作するんですか?

【18005】Re:エクセルの最小化ボタン
質問  なみ  - 04/9/12(日) 21:13 -

引用なし
パスワード
   wizik さんへ

そうですね、自分がやっているのは不完全だし、
一時しのぎでしかないのは分かっているのですが。

エクセルを操作するのはお客さんの要望で、
データの追加があったときに、アプリケーションの改修を行わずに
追加を行いたいからです。
それでエクセルは触れるので、エクセルを開いて追加作業を行えるように
したいということなのです。

勝手にエクセル内のデータを触られるとVBでのプログラム操作に
影響が出て困るのですが、どのように対応したらいいのか分からなくて。

短い納期と未熟なスキルでこのようにするしか考えられませんでした。

他の方法でも最小化はできるということですが。。
そちらの操作も無効にするように対応したほうがいいのでしょうか?
そうすることで、自分がやろうとしていることは満たせるのでしょうか。

【18006】Re:エクセルの最小化ボタン
発言  wizik  - 04/9/12(日) 23:33 -

引用なし
パスワード
     ▼なみ さん:
>エクセルを操作するのはお客さんの要望で、
>データの追加があったときに、アプリケーションの改修を行わずに
>追加を行いたいからです。
>それでエクセルは触れるので、エクセルを開いて追加作業を行えるように
>したいということなのです。
詳しいことはわかりませんが、エクセルで追加作業をするなんて
使いにくくなるだけのような気がしますね。
どうしても、VBで追加作業をするようにはできないんでしょうか?

>エクセルはエクセル上に設置した「終了」コマンドで終わらせてほしいのです。
>「終了」コマンドの機能はエクセルのVisibleをFalseにするというものです。
>エクセルの閉じるボタンで終了するとエクセル自体が終了してしまうため、
>エクセルがVisible=Trueの時は閉じるボタンを無効に、
>Visible=Falseの時は閉じるボタンを有効に戻しています。
エクセルはずっと起動したままなんでしょうか?

わたしはVBを使ったことはないですが、VBのFormが
アクティブになったときに Visible = False というのはダメ?

【18050】Re:エクセルの最小化ボタン
お礼  なみ  - 04/9/13(月) 21:12 -

引用なし
パスワード
   VBからエクセルを開くと、VBもエクセルもアクティブになります。

教えていただいてありがとうございました。
皆さんのご意見を参考に解決することができました。

11113 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free