• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:タスクバーのアプリ開閉を回避したいです。)

タスクバーのアプリ開閉を回避する方法

end-uの回答

  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

Excelのオプション「すべてのウィンドウをタスクバーに表示する」設定になっているからでしょうね。 そのチェックを外せば良いだけですが、通常時は「..タスクバーに表示」しておきたいならコードでの対応が必要です。 処理冒頭に Dim flg As Boolean flg = Application.ShowWindowsInTaskbar Application.ShowWindowsInTaskbar = False ShowWindowsInTaskbarプロパティの設定を覚えておいてFalseにする。 処理後に戻す。 Application.ShowWindowsInTaskbar = flg ..みたいな感じです。

mayu1992
質問者

お礼

お礼という機能があるのですね。。。 今回も勉強になりました。 また質問した時には是非ご回答をお願いしますね^^

mayu1992
質問者

補足

end-uさん ご回答ありがとうございます。 エクセルファイルを他にも開いている時に実行すると、エクセルが整列!処理・・・解散!! みたいで、「仕事をしている気がしました」^^ これも凄い知識だなぁと思いました。 コードも複雑じゃないし良いかなと思いますが、もうしばらく検討します。

関連するQ&A

  • VBA EnableEventsの動作

    Win7 Excel2013使用 Application.EnableEventsの動作でおかしな事がおきているので 解決方法を教えて頂きたいのですが、 シートの並びかえマクロを作成し、 その中で最初と最後にApplication.EnableEventsとscreenupdating を false→処理→trueで設定しています。 マクロ実行後、別のマクロ(sheetchangeイベント)を実行しようとしたところ マクロ動作せず、状況を調べるために sub test() msgbox Application.EnableEvents msgbox Application.ScreenUpdating End sub 上記testマクロでそれぞれの状況を表示させたところ、どちらもtrueがかえってきました。 ただ、もう一度このtestマクロを実行するとApplication.EnableEventsだけfalseとなります。 シートの並びかえマクロのデバッグで検証を行いましたが、特にエラーはなく、最後のtrueまで 実行される事は確認しました。 何か考えられることはありますでしょうか?

  • VBAでBOOKを開かずにプロパティ変更

    エクセル2013です。 特定のフォルダ内のエクセルのBOOKのプロパティの作成者をすべて変えようと思います。 いろいろ試して、以下のコードでできるようになりました。 しかし、下記のコードではいちいちファイルを開かなくてはなりませんのでサイズが大きかったり、数が多いと結構時間がかかります。 手作業でファイルのプロパティを変えるときは、エクスプローラで右クリックすれば開かなくとも簡単にできます。VBAでもファイルを開かずにプロパティを変更するにはどうすればよいのでしょうか?お教えいただければ幸いです。 Sub TEST20190710()   Dim myFdr As String, fnm As String   Dim wb As Workbook   Dim n As Long   Const NEW_AUTHOR As String = "emaxemax"      Application.ScreenUpdating = False   Application.EnableEvents = False   myFdr = "C:\Users\User\Documents\TEST01"   fnm = Dir(myFdr & "\*.xls?")   Do Until fnm = Empty     Set wb = Workbooks.Open(myFdr & "\" & fnm)     Application.DisplayAlerts = False     wb.BuiltinDocumentProperties("Author").Value = NEW_AUTHOR     wb.Close SaveChanges:=True     Application.DisplayAlerts = True     n = n + 1     fnm = Dir   Loop   Application.ScreenUpdating = True   Application.EnableEvents = True   MsgBox n & "件のブックを処理しましました。", vbInformation End Sub

  • キーボードでScreenUpdatingの切り替え

    Application.ScreenUpdating = True Application.ScreenUpdating = False の切り替えをキーボードからコントロールすることは可能 でしょうか?かなり長いマクロの処理があるのですが、 処理の途中で画面更新をON/OFFさせて進行状況を見たいのです。

  • EnableEventsの意味は

    VBAを勉強中の初心者です。 Excelでプロシージャの中に書かれている次の文は、どういう意味を持っているのですか。 Application.EnableEvents = False '処理命令文 Application.EnableEvents = True EnableEventsとは、何を可能にさせると言っているのでしょうか。 = Falseとは、何が違うと言っているのでしょうか。 割り込み禁止で、ここで処理が実行されている間は、他の余分なことは受け付けないと言っているのかと勝手な想像もしていますが、どうでしょうか。 教えて下さい。よろしくお願いします。

  • Excelの三つのVBAを一つにまとめる。

     初めまして、よろしくお願いします。当方全くの素人でVBAの基礎もよくわからず、ネットから拾ってきていじった三つのVBAがあります。この三つ、一つ一つは個別に機能するのですが、VBAとして正しいのかさえよく解っていません。この三つを一つにまとめて、同時に機能するようにしたいと頭を抱えています。 Sub TEST() Application.ScreenUpdating = False Application.EnableEvents = False ActiveSheet.Calculate Range("b10:b20").Insert shift:=xlShiftToRight Range("b10:b20").Value = Range("a10:a20").Value Application.OnTime TimeValue("09:00:00"), "TEST" Application.ScreenUpdating = True Application.EnableEvents = True ActiveWorkbook.Save End Sub ________________________________________________________________ Sub TEST1() Application.ScreenUpdating = False Application.EnableEvents = False ActiveSheet.Calculate Dim myCnt As Long Range("c30:c40").Copy Range("d30:d40").PasteSpecial Paste:=xlPasteValues Range("b30:b40").Copy Range("c30:c40").PasteSpecial Paste:=xlPasteValues Range("a30:a40").Copy Range("b30:b40").PasteSpecial Paste:=xlPasteValues nextTime = Now() + TimeValue("01:00:00") Application.OnTime nextTime, "TEST1" Application.ScreenUpdating = True Application.EnableEvents = True ActiveSheet.Calculate ActiveWorkbook.Save End Sub ________________________________________________________________ Sub TEST2() Application.ScreenUpdating = False Application.EnableEvents = False ActiveSheet.Calculate Dim myCnt As Long Range("c50:c60").Copy Range("d50:d60").PasteSpecial Paste:=xlPasteValues Range("b50:b60").Copy Range("c50:c60").PasteSpecial Paste:=xlPasteValues Range("a50:a60").Copy Range("b50:b60").PasteSpecial Paste:=xlPasteValues nextTime = Now() + TimeValue("00:10:00") Application.OnTime nextTime, "TEST2" Application.ScreenUpdating = True Application.EnableEvents = True ActiveSheet.Calculate ActiveWorkbook.Save End Sub ________________________________________________________________  解る方、よろしくお願いします。

  • エクセル2010をVBAによりリボンの最小化処理

    前回、「エクセル2010をマクロによりリボンの最小化処理(QNo.7450319)」により、 Sub macro1() CommandBars.ExecuteMso "MinimizeRibbon" End sub とします。 再度実行すると再表示します。 との回答をいただき早速利用しておりますが、FALSEとTRUEを使い、最小化と再表示を下記の様なコ-ドで出来ないものか、ご教示願います。     (リボンの最小化)    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""RIBBON"",FALSE)" (リボンの再表示)   Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""RIBBON"",TRUE)"

  • ファイルの保存場所を設定してしまう方法

    ファイルを保存する時に、保存先を指定できるマクロ(下記参照)があります。 保存場所あらかじめ設定するには、何を足せばいいのでしょうか? Sub NameSave() Application.EnableEvents = False Application.Dialogs(xlDialogSaveAs).Show arg1:=ファイル名 Application.EnableEvents = True End Sub vbaは初心者です。 エクセル2003を使っています。 ご存知の方、どうぞ教えてください。 よろしくお願いいたします。

  • ExcelマクロのApplication.EnableEvents

    Sub AAA()   Application.EnableEvents = False   If a = 0 then     処理A   End If   Application.EnableEvents = True End Sub このようなコードを組んでいます。 処理Aは、他シートへの書込みを行っており、 他シートのWorksheet_Changeイベントが動いて欲しくないので、 上記の位置にApplication.EnableEventsのFalseとTrueを入れたのですが、 (FalseとTrueを入れた位置は「If文の前後」ではなく、「コードの最初と最後」です) 処理Aによって他シートのWorksheet_Changeイベントも動きました。 ここで、  Application.EnableEvents = False  処理A  Application.EnableEvents = True のように記述したら、処理Aによる他シートのWorksheet_Changeイベントは止められました。 動かしたくない処理がある場合は、 その処理を行っている部分をピンポイントでFalseとTrueで挟まないといけないのでしょうか。 (最初と最後に宣言するのではダメなのでしょうか) それとも今回のような動作をした要因は別にあるのでしょうか。

  • エクセルVBAで読み取りパスワード回避

    エクセル2010です。 以下のコードで任意のフォルダ内のエクセルBOOKから所定のデータを取得できます。 しかし、指定フォルダ内に読み取りパスワードが設定されたものがあると、開くことができずに止まってしまいます。 読み取りパスワードが同一で、事前に分かっていればコードにPassword:="AAAABBBB" などと書き入れればいいと思うのですが、事前にはわかりませんし、パスワードもそれぞれ異なります。 そこで、開けなかった場合には、そのBOOKを飛ばしてすすみ、別シートに飛ばしたBOOK名を記録しておきたいのです。 (BOOK作成者にあとからパスワードを聞くため) しかし、残念ながらどのように書けばいいのか思いつきません。 ご指導いただければ幸いです。 Sub TEST001()   Dim wb(1) As Workbook   Dim ws(1) As Worksheet   Dim myFdr As String, fn As String   Dim i As Long   With Application.FileDialog(msoFileDialogFolderPicker) 'フォルダ指定     If .Show = True Then        myFdr = .SelectedItems(1)     Else       Exit Sub     End If   End With   Application.ScreenUpdating = False '画面更新を一時停止   Set wb(0) = ThisWorkbook 'このコピー先ブックをwb(0)とする。   Set ws(0) = wb(0).Sheets(1) 'wb(0)の1枚目のシートをws(0)とする。   fn = Dir(myFdr & "\*.xls*") 'フォルダ内のExcelブックを検索   Do Until fn = Empty '全て検索     Application.EnableEvents = False     Set wb(1) = Workbooks.Open(myFdr & "\" & fn, UpdateLinks:=False, ReadOnly:=True) 'そのブックを開きwb(1)とする。     Set ws(1) = wb(1).Worksheets(1)     i = i + 1     ws(0).Cells(i, "A").Value = ws(1).Range("B2") 'ws(0)に転記     ws(0).Cells(i, "B").Value = wb(1).Name     ws(0).Cells(i, "C").Value = ws(1).Name     wb(1).Close (False) '保存せず閉じる     Application.EnableEvents = True     fn = Dir 'フォルダ内の次のExcelブックを検索   Loop '繰り返す   Application.ScreenUpdating = True '画面更新停止を解除   MsgBox i & "個取得" End Sub

  • エクセル マクロ 値の貼り付け

    以下のエクセルのマクロで値のみを貼り付けたいのですが、.valueを指定しても上手くできません。 どのように修正すればいいか教えてください。 Dim wb As Workbook Application.ScreenUpdating = False Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\ファイルA.xls", UpdateLinks:=0) ThisWorkbook.Sheets("BBB").Range("E4:AR4").Copy wb.Sheets("BBB").Range("E4:AR4") Application.DisplayAlerts = False wb.Close (True) Application.DisplayAlerts = True Application.ScreenUpdating = True