Mike Eghtebas
asked on
Worksheet Preview Doesn't Get Focus... vb6
Using this code from a vb 6 form (with selected workbook already open):
Set xlApp = GetObject(,"Excel.Applicat ion") '<-- locates excel application
Set xlWkBk = xlApp.Workbooks(strFile) '<-- locates workbook strFile in the excel application
Set xlWs = xlWkBk.WorkSheets(StrWs) '<-- locates worksheet StrWs in the workbook strFile
xlWkBk.Activate '<-- activate the workbook (I am not sure if this is necessary)
xlWs.Select '<-- select the worksheet (I am not sure if this is necessary)
xlApp.WindowsState = xlMinimized '<-- this minimizes the application, not to block the previewed worksheet
' I have tried with and without this line of code.
xlws.PrintPreview '<-- the worksheet in preview stays minimized in task bar but blinking
I need above code to be revised such that the previewed worksheet would popup and the user dosn't have to click on it to bring it up.
Thanks.
Set xlApp = GetObject(,"Excel.Applicat
Set xlWkBk = xlApp.Workbooks(strFile) '<-- locates workbook strFile in the excel application
Set xlWs = xlWkBk.WorkSheets(StrWs) '<-- locates worksheet StrWs in the workbook strFile
xlWkBk.Activate '<-- activate the workbook (I am not sure if this is necessary)
xlWs.Select '<-- select the worksheet (I am not sure if this is necessary)
xlApp.WindowsState = xlMinimized '<-- this minimizes the application, not to block the previewed worksheet
' I have tried with and without this line of code.
xlws.PrintPreview '<-- the worksheet in preview stays minimized in task bar but blinking
I need above code to be revised such that the previewed worksheet would popup and the user dosn't have to click on it to bring it up.
Thanks.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Correction...
Previwed worksheet doesn't appear separately in the taskbar as I have said in my last post. On can see the workbook itself only after the previewed worksheet is accessed and closed.
xlApp.WindowState = vbNormal didn't help. Is there a code like:
xlApp.<WindowPreviewedStat e> = vbNormal ?
---------
sorry about extra line after my name in the last post.
Previwed worksheet doesn't appear separately in the taskbar as I have said in my last post. On can see the workbook itself only after the previewed worksheet is accessed and closed.
xlApp.WindowState = vbNormal didn't help. Is there a code like:
xlApp.<WindowPreviewedStat
---------
sorry about extra line after my name in the last post.
ASKER
I guess this problem is caused by bad use of some other code. I will post my findings shortly. It seems it has to do with use of GetObject and CreatObject as discussed in:
https://www.experts-exchange.com/questions/21133116/GetObject-or-CreateObject-vb6.html
I will post my findings shortly.
https://www.experts-exchange.com/questions/21133116/GetObject-or-CreateObject-vb6.html
I will post my findings shortly.
How are you calling this routine? I tried the above code from a button and it failed on the xlApp.WindowState = vbMinimized line. However, when I commented this line out, the print preview opened. When I clicked 'Close' on the print preview screen, it disappeared and the worksheet came back.
What are you trying to eliminate; the need to click 'Close'?
What are you trying to eliminate; the need to click 'Close'?
...or are you trying to PP one workbook from within another, before returning control to the first?
ASKER
The correct syntax was:
Set xlWs = xlWkBk.Worksheets(WsName) ' Set it to the desired workbook
xlApp.Visible = True
xlWkBk.Activate '<-- this may not be necessary
xlWs.Select
Application.WindowState = xlNormal
xlWs.PrintPreview
Set xlWs = xlWkBk.Worksheets(WsName) ' Set it to the desired workbook
xlApp.Visible = True
xlWkBk.Activate '<-- this may not be necessary
xlWs.Select
Application.WindowState = xlNormal
xlWs.PrintPreview
ASKER
When I exclude it, still previewed worksheet shows in the taskbar only (blinking) with the workbook in Noraml state.
But, when I use it, the workbook gets out of the way, but the previewed worksheet in another xl logo on the taskbar keeps blinking.
All I want to eliminate the need for an extra (and unnecessary click) by the user to bring up the previewed worksheet.
I will try "xlApp.WindowState = vbNormal" at the end of the code. But I am not sure what will be restored (the workbook or the previewed worksheet?). Do we have code to make sure the previewed workssheet is restored not the workbook?
(I have to do the test in another computer, brb)
Mike
, now, what I will do