ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   The old application.quit problem (https://www.excelbanter.com/excel-programming/301947-old-application-quit-problem.html)

Hafeez

The old application.quit problem
 
I have a similar problem to this.
I've writen some code in Access which extracts,
manipulates and then ouputs the data to a user selected
workbook.

I create a single instance of an Excel Application object
and pass it to every routine that requires it.

Everything runs well and my output is correct. The only
problem I'm getting is that Excel is still under
the 'Processes' in Task Manager. This is a problem
because when I run the code again, it will stop at the
following routine.

Public Sub formatWorkbook(ByRef XL As Excel.Application,
ByVal strRangeName As String, _
ByRef FormatRange As Excel.Range)
'Copies format of named range to selection
XL.Goto (strRangeName)
If (Selection.Row = FormatRange.Row) Then
Exit Sub
End If

sht.Cells(1, 1).Select
XL.Goto (strRangeName)
Selection.Copy
FormatRange.Select
FormatRange.PasteSpecial xlPasteFormats, , False, False
XL.ActiveSheet.Cells(1, 1).Select
End Sub

Specifically at "Selection.Row"

Please Help
Thanks






-----Original Message-----
Hello,

I'm totally lost. I've been searching through these

forums and the
internet for an answer, but I can't solve this problem.

I have a splash
screen (userform) from which users can open different

forms in my
application. The splash screen also has a quit button

which is supposed
to close Excel down, but it still apperas in the task

manager.

From what I've read, I think I understand the problem,

but I have no
idea how to solve it. I'm not creating new instances in

my code? Not
sure if I should? Anyway, I'll give a brief explanation

of what I'm
doing:

I have 1 workbook with 3 sheets. I have a userform

acting as a splash
screen. The first thing I do when someone opens my xls

file is (code
for ThisWorkbook):


Code:
--------------------
Private Sub Workbook_Open()
Application.Visible = False
frmSplash.Show
End Sub

--------------------


On my splash screen, I have a quit button with the

following code:


Code:
--------------------
Private Sub btnQuit_Click()
For Each w In Application.Workbooks
w.Close False
Next w
Workbooks(1).Saved = True
ThisWorkbook.Close False
Application.Quit
--------------------


Clicking this still leaves the Excel process running.

Can someone
please point me in the right direction?

Thankyou in advance.


---
Message posted from http://www.ExcelForum.com/

.


Stephen Bullen[_3_]

The old application.quit problem
 
Hi Hafeez,

Public Sub formatWorkbook(ByRef XL As Excel.Application,
ByVal strRangeName As String, _
ByRef FormatRange As Excel.Range)
'Copies format of named range to selection
XL.Goto (strRangeName)
If (Selection.Row = FormatRange.Row) Then
Exit Sub
End If

sht.Cells(1, 1).Select
XL.Goto (strRangeName)
Selection.Copy
FormatRange.Select
FormatRange.PasteSpecial xlPasteFormats, , False, False
XL.ActiveSheet.Cells(1, 1).Select
End Sub

Specifically at "Selection.Row"


Whenever you use any of Excel's 'global' objects, such as Cells,
Selection etc, you must prefix them with the instance of Excel you're
using:

Public Sub formatWorkbook(ByRef XL As Excel.Application,
ByVal strRangeName As String, _
ByRef FormatRange As Excel.Range)
'Copies format of named range to selection
XL.Goto (strRangeName)
If (XL.Selection.Row = FormatRange.Row) Then
Exit Sub
End If

sht.Cells(1, 1).Select
XL.Goto (strRangeName)
XL.Selection.Copy
FormatRange.Select
FormatRange.PasteSpecial xlPasteFormats, , False, False
XL.ActiveSheet.Cells(1, 1).Select
End Sub



Regards

Stephen Bullen
Microsoft MVP - Excel
www.BMSLtd.ie




All times are GMT +1. The time now is 09:28 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com