Hej Ett exempel för att stänga ett fönster: (?!) Du kan avsluta Excel-applikation-objektet:Ägare av Excel?
När jag i mitt VB program öppnar Access blir VB sessionen ägare av Access sessionen. När jag då stänger ner VB programmet så stängs även Access automatiskt.
Hur skall jag programmera för att få VB sessionen att bli ägare av Excel session. Alltså hur skall jag skriva för att få Excel att automatiskt stänga när VB sessionen avslutas.
Så här öppnar jag Excel.
Set appXcel = CreateObject("Excel.Application")
appXcel.Workbooks.Open FileName:=sInXlsPath
appXcel.Caption = sXlsFilename
appXcel.Visible = True
Någon som vet?
//PASv: Ägare av Excel?
<code>
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private Sub cmdStart_Click()
Shell "calc.exe", vbNormal
End Sub
Private Sub cmdStop_Click()
Dim ghw As Long
ghw = FindWindow(vbNullString, "Kalkylatorn")
PostMessage ghw, WM_CLOSE, CLng(0), CLng(0)
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
</code>
En Form & tre CommandButton
mvh
LarrySv: Ägare av Excel?
Private xlApp As Object
Private xlDoc As Object
Sub StartExcel()
Dim sInXlsPath As String
sInXlsPath = "D:\Data\Test.xls"
Set xlApp = CreateObject("Excel.Application")
Set xlDoc = xlApp.Workbooks.Open(FileName:=sInXlsPath)
xlApp.Visible = True
End Sub
Sub StopExcel()
xlDoc.Save
xlDoc.Close SaveChanges:=True
xlApp.Quit
End Sub