Excel VBA質問箱 IV

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

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


8235 / 13646 ツリー ←次へ | 前へ→

【34328】ユーザフォームについて ビギナー 06/1/31(火) 19:39 質問[未読]
【34331】Re:ユーザフォームについて ichinose 06/1/31(火) 20:07 発言[未読]
【34338】Re:ユーザフォームについて ビギナー 06/1/31(火) 21:49 発言[未読]
【34339】Re:ユーザフォームについて ichinose 06/1/31(火) 22:07 発言[未読]
【34490】Re:ユーザフォームについて ビギナー 06/2/3(金) 19:10 お礼[未読]

【34328】ユーザフォームについて
質問  ビギナー  - 06/1/31(火) 19:39 -

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

ユーザフォームについて皆さんに質問があります。

ユーザフォームを最小化、サイズ変更ができるように作ったのですが、最小化しても、他のアプリケーションをアクティブにできないのです。

何故でしょうか??

【34331】Re:ユーザフォームについて
発言  ichinose  - 06/1/31(火) 20:07 -

引用なし
パスワード
   ▼ビギナー さん:
こんばんは。

>
>ユーザフォームを最小化、サイズ変更ができるように作ったのですが、最小化しても、他のアプリケーションをアクティブにできないのです。

APIのSetWindowLongを使用したということですか?
他のアプリケーション・・・、例えばWordを起動していれば、
Wordをアクティブにすることは出来ますけど・・・!!

【34338】Re:ユーザフォームについて
発言  ビギナー  - 06/1/31(火) 21:49 -

引用なし
パスワード
   ▼ichinose さん:

こんばんは。
たびたびすみません。。。

おっしゃるとおり、APIのSetWindowLongを使用しました。

最小化して、他のエクセルシートをアクティブにしたいのですができないんです。。。

>▼ビギナー さん:
>こんばんは。
>
>>
>>ユーザフォームを最小化、サイズ変更ができるように作ったのですが、最小化しても、他のアプリケーションをアクティブにできないのです。
>
>APIのSetWindowLongを使用したということですか?
>他のアプリケーション・・・、例えばWordを起動していれば、
>Wordをアクティブにすることは出来ますけど・・・!!

【34339】Re:ユーザフォームについて
発言  ichinose  - 06/1/31(火) 22:07 -

引用なし
パスワード
   >おっしゃるとおり、APIのSetWindowLongを使用しました。
>
>最小化して、他のエクセルシートをアクティブにしたいのですができないんです。。。


おそらくは、

UserForm1.Show
というようにモーダルモードで表示しているのだと思います。
(UserForm1は、ユーザーフォーム名)

この場合、最小化してもシートに触ることはできません。

UserForm1.Show vbModeless

としてみてください。(但し、Excel2000以上)

これでフォームを表示したままあるいは最小化した状態で
他のエクセルシートをアクティブにできます。

でも、
モ―ダルモードとモーダレスモードでは、
制御が違ってきますから、
コードの変更も必要かも知れません。

【34490】Re:ユーザフォームについて
お礼  ビギナー  - 06/2/3(金) 19:10 -

引用なし
パスワード
   ▼ichinose さん:

こんばんは。

返事が遅くなってすみません。

UserForm1.Show vbModeless

で動作可能になりました。

ありがとうございます!!

>>おっしゃるとおり、APIのSetWindowLongを使用しました。
>>
>>最小化して、他のエクセルシートをアクティブにしたいのですができないんです。。。
>
>
>おそらくは、
>
>UserForm1.Show
>というようにモーダルモードで表示しているのだと思います。
>(UserForm1は、ユーザーフォーム名)
>
>この場合、最小化してもシートに触ることはできません。
>
>UserForm1.Show vbModeless
>
>としてみてください。(但し、Excel2000以上)
>
>これでフォームを表示したままあるいは最小化した状態で
>他のエクセルシートをアクティブにできます。
>
>でも、
>モ―ダルモードとモーダレスモードでは、
>制御が違ってきますから、
>コードの変更も必要かも知れません。

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