Excel VBA質問箱 IV

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

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


11610 / 13645 ツリー ←次へ | 前へ→

【14982】デスクトップの表示 YOU 04/6/12(土) 15:17 質問[未読]
【14985】Re:デスクトップの表示 ichinose 04/6/12(土) 18:56 発言[未読]
【15023】Re:デスクトップの表示 YOU 04/6/13(日) 17:51 発言[未読]
【15025】Re:デスクトップの表示 ichinose 04/6/13(日) 19:36 発言[未読]
【15029】Re:デスクトップの表示 YOU 04/6/13(日) 22:16 お礼[未読]
【15108】Re:デスクトップの表示 にこにこ 04/6/15(火) 18:03 回答[未読]
【15151】Re:デスクトップの表示 YOU 04/6/16(水) 15:47 お礼[未読]

【14982】デスクトップの表示
質問  YOU  - 04/6/12(土) 15:17 -

引用なし
パスワード
   すいません又、質問です。
VBAで「デスクトップの表示」を実行したいのですが、
方法が分かりません。
全てのフォルダやアプリを最小化する方法は分かるのですが、
それだと、ユーザフォームには反映されないようなので・・。


(WinXP Excel2002)

【14985】Re:デスクトップの表示
発言  ichinose  - 04/6/12(土) 18:56 -

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

>すいません又、質問です。
>VBAで「デスクトップの表示」を実行したいのですが、
>方法が分かりません。
>全てのフォルダやアプリを最小化する方法は分かるのですが、
>それだと、ユーザフォームには反映されないようなので・・。


  CreateObject("Shell.Application").Open 0

これで代用できますか?

【15023】Re:デスクトップの表示
発言  YOU  - 04/6/13(日) 17:51 -

引用なし
パスワード
   ichinose さん スレどうもありがとうです。

うーんなんか違う気が・・・。
(難しくてコードの意味も分からないのですが・・。)
ユーザフォームを表示ごと最小化したいと思っていたので、
すいません。

【15025】Re:デスクトップの表示
発言  ichinose  - 04/6/13(日) 19:36 -

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

>
>うーんなんか違う気が・・・。
デスクトップにあるフォルダやファイルが表示できれば良いと思っていたんですが・・。
Userformを最小化するとなると、私がめったにに使わない(調べない)
APIを使用しないと思います。


>(難しくてコードの意味も分からないのですが・・。)
>ユーザフォームを表示ごと最小化したいと思っていたので、
>すいません。

例えば、3つのユーザーフォーム(Userform1〜Userform3)が
既に表示されていたとしましょうか。
こんなコードで・・・・(標準モジュールで)。
'================================
sub show_form()
  userform1.show vbmodeless
  userform2.show vbmodeless
  userfrom3.show vbmodeless
end sub

これら表示されたフォームを最小化するには、
別の標準モジュールに
'========================================================
Public Declare Function CloseWindow Lib "user32" (ByVal hWnd&) As Long
Public Declare Function FindWindow Lib "user32" _
  Alias "FindWindowA" (ByVal lpClassName As String _
  , ByVal lpWindowName As String) As Long
Declare Function OpenIcon Lib "user32.dll" _
  (ByVal hWnd As Long) As Long
'================================================================
Sub minimam_form() '表示されているユーザーフォームの最小化
 For Each frm In UserForms
   hWnd = FindWindow("ThunderDFrame", frm.Caption)
   Call CloseWindow(hWnd)
   Next
End Sub
'================================================================
Sub undoform() '元のサイズに戻す
  For Each frm In UserForms
   hWnd = FindWindow("ThunderDFrame", frm.Caption)
   Call OpenIcon(hWnd)
   Next
End Sub

こんな意味でしょうか?

【15029】Re:デスクトップの表示
お礼  YOU  - 04/6/13(日) 22:16 -

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

どうもお手数をおかけします。
コードの方はよく理解してないのですが、
試してみました。フォームが小さくなるなんで
驚きです!。

ただ、やっぱり「デスクトップ表示」のボタンを押したのとは
違う気が・・・。

やはり、タスクバーにデスクトップのボタンを表示しておいて
おしてもらう事にします。

それにしてもAPIは、全然分からない・・・

がんばって勉強します。どうもありがとうございました。

【15108】Re:デスクトップの表示
回答  にこにこ  - 04/6/15(火) 18:03 -

引用なし
パスワード
   こんな方法があるようです。
CreateObject("Shell.Application").ToggleDesktop

まだ見ていたらよいのですが・・・。

【15151】Re:デスクトップの表示
お礼  YOU  - 04/6/16(水) 15:47 -

引用なし
パスワード
   ▼にこにこ さん:
みてました!
できました。こんな方法があったなんて知りませんでした。
感動です。やりたかったこと通りです。
こんごともよろしくです。


>こんな方法があるようです。
>CreateObject("Shell.Application").ToggleDesktop
>
>まだ見ていたらよいのですが・・・。

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