2017-07-20 15 views
0

スタートブックは常に開いていますが、すべてのコードを置く場所は常に隠しています。それは私のコンピュータ上の任意のExcelを開いて隠すときにユーザーフォームを要求します。MyBook.CloseはExcelウィンドウを隠すことはありません

コードによっては、新しいブック(レポートブック)が開かれることがあります。このブックは、ユーザーに表示される必要があります。私はちょうど行います

MyReportBook.Activate 

と私は、ユーザーがこの報告書で行われた場合(真= application.visible私は使用しませんでした)

が、彼はそれを閉じることができますレポートを見ることができます。

私の最初の問題は、この措置がスタートブックを閉鎖していたことであり、私はこの本を閉じたくはありませんでした。だから私は、私のスタートブックのBefore_Closeにこれらのコードを入れて(私がチェックし、ユーザーがレポートブックを閉じると、コードがスタートブックに実行を開始!!):

If MyUserFormThatMakeReport.visible = true then 
     Dim wb As Workbook 
     Application.ScreenUpdating = False 
     For Each wb In Application.Workbooks 
      If wb.Name = "Report Book Name" Then 
       wb.Save 
       wb.Close 
       Application.Quit 
      End If 
     Next wb 
     Cancel = True 
     Application.Visible = False 
     Application.ScreenUpdating = True 
    End if 

事があれば、後のそれに近いです私はapplication.visible = trueを実行します: - レポートブックのワークブックはまだ開いています - Excelブックはすべて灰色です - レポートブックの名前はまだウィンドウの上にあります - スタートは本物です!!!

私がフォーラムに投稿したのは初めてです。すでに10年、あなたと他のフォーラムの大きな助けを借りて自分で学びます。しかし、今回は私がブロックされている、助けてください。

+0

残念ながら、この投稿は "Hi guys"で始まりますが、それは病気です...だからHY GUYS; - )) – Kaldoch

+0

'wb.Save:wb.Close'が実行されていることを確認しましたか?チェックするには、そこにブレークポイントを置くことができます。また、 'Application.Quit'はここでは意味をなさないが、実際にブロックが実行されなかったことを示すように見える。 –

+0

私を助けてくれてありがとうA.S.H。 – Kaldoch

答えて

0

マクロApplication.visibleの実行中にFALSEになった場合は、本を閉じる前にTRUEにしてください。

関連する問題