8

実行するExcel VBAメソッド(私は書いていません)があり、最初に実行することの1つは、Excelセッションを非表示にすることApplication.Visible = Falseです。

ただし、メソッドが終了しても、Excel セッションは再表示されないため、開いたままタスク マネージャーに表示されますが、非表示になり、使用できないように見えます。

VBEを開かずに(イミディエイトウィンドウにアクセスして実行できるようApplication.Visible = Trueに)、このExcelセッションを再表示する方法を知っている人はいますか?現時点では、タスク マネージャーを使用してセッションを強制終了する必要があります。

これは大したことではありませんが、誰かがそのようなセッションを復活させる方法を知っているかどうかに興味があります.

4

5 に答える 5

15

私が言ったように、それは大したことではありませんが、誰かがショートカットキーまたはそれを戻すための何かを知っているかどうかだけに興味がありました。

私が知っているような近道はありませんが、あなたはこれを行うことができます。

MS Wordを開き、このコードをVBAエディターに貼り付けます。表示されているExcelの開いているすべてのインスタンスを閉じてから、このコードを実行します。これにより、非表示のインスタンスが表示されます。インスタンスを手動で閉じ、さらにインスタンスがある場合はプロセスを繰り返します。

Option Explicit

Sub Sample()
    Dim oXLApp As Object

    '~~> Get an existing instance of an EXCEL application object
    On Error Resume Next
    Set oXLApp = GetObject(, "Excel.Application")
    On Error GoTo 0

    oXLApp.Visible = True

    Set oXLApp = Nothing
End Sub

非表示のインスタンスに保存したいブックを含めることができるため、意図的にループを使用していませんか?

必要に応じて、上記のコードをデスクトップから直接実行できるVBスクリプトドキュメントに変換できます。

残念ながら、必要な変更を加えるためのコントロールがありません。

正確にはどういう意味ですか?VBAパスワードは保護されていますか?いいえの場合、私の提案は以前と同じです

これはプログラミングが不十分な場合です。すべての非表示のExcelインスタンスを閉じるコードを提供しても、それは役に立ちません。次回そのマクロを実行すると、同じ問題が再び発生するためです。既存のコードを編集して、最後にApplication.Visible = Trueを追加してみませんか?VBAパスワードは保護されていますか?– SiddharthRout28分前

于 2012-04-24T09:02:04.490 に答える
0

コードとして:

sub runthis()
    dim xl as object
    set xl = new excel.application 'create session
    xl.workbooks.open filename:= "«yourpath»" 'open wb in the new session
    xl.visible=true 'this is what you need, show it up!
    'rest of the code
end sub
于 2013-06-06T10:44:46.757 に答える
0

同様の問題があり、コード行の並べ替えで解決しました。

ActiveWorkbook.Closeセッションを再表示できない理由である可能性がある、このような行を探します。

見つけたら、Application.Visible = Trueその直前に置いてください。

于 2013-01-04T08:36:22.670 に答える