Törölt nick Creative Commons License 2011.04.08 0 0 14562

Sziasztok!

 

A következő probléma megoldásában kérem a segítségeteket:

 

Adott két munkafüzet (Munkafüzet1.xlsm; Munkafüzet2.xlsm) . A feladat az lenne, hogy a Munkafüzet1-ből kell megnyitni a Munkafüzet2-t, és mérni kellene valahogy azt, amikor a megnyitás megtörtént, illetve amikor bezárták a Munkafüzet2 fájlt (a két időpont lenne a lényeg). A mérés eredményét pedig be kellene írni a Munkafüzet1-be.

 

A megoldásra az alábbiakat próbálgatom, de valamiért nem működik.

 

A Munkafüzet2 megnyitása és a mérés indítása a Munkafüzet1.xlsm – Munka1 munkalapján történt dupla kattintással történik:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

  ’ mérés indítása

  Workbooks.Open Filename:=ActiveWorkbook.Path & "Munkafüzet2.xlsm", ReadOnly:=True

End Sub

 

A Munkafüzet2.xlsm bezárása a Munkafüzet2.xlsm - Munka2 munkalapjára kattintással történik:

 

Private Sub Worksheet_Activate()

  ActiveWorkbook.Close

End Sub

 

A mérés leállítása a Munkafüzet2.xlsm bezárása után a Munkafüzet1.xlsm újbóli aktiválásakor történik:

 

Private Sub Workbook_WindowActivate(ByVal Wn As Window)

 ’mérés leállítása

  MsgBox "Munkafüzet1 - Workbook_WindowActivate"

End Sub

 

A problémám az, hogy ha a  Munkafüzet2.xlsm fájlt nem „hagyományosan” a Bezárás menüponttal vagy az ablak bezáró „X”-re kattintással zárom be, hanem a fenti Munka2 munkalapra kattintással, (ActiveWorkbook.Close paranccsal) akkor nem aktiválódik a Munkafüzet1.xlsm  „WindowActivate” eseménykezelője.

 

Tudna valaki segíteni a probléma megoldásában?