Jump to content

Recommended Posts

Posted (edited)

I am having some difficulties figuring out why when using the _Excel_BookClose function if I have an Excel sheet already opened that was not opened with _Excel_BookOpen it still closes the workbook. 

 

Here is a snippet of some of my code. Any guidance is appreciated!

 

$ConfigFileCheckPrinterSelection = IniRead($ConfigFile, "Printers", "Selected Printer", "Microsoft XPS Document Writer")
            $oExcelChecklist = _Excel_Open(False)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Error", "Error starting Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            $sFilePathChecklist = @ScriptDir & "\Documents\New Hire Checklist.xlsx"
            $workbookChecklist = _Excel_BookOpen($oExcelChecklist, $sFilePathChecklist)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Error", "Error opening to workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Print($oExcelChecklist, $workbookChecklist.Activesheet, Default, $ConfigFileCheckPrinterSelection, Default, Default, Default, Default, Default)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Printing Error", "Error printing worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            MsgBox($MB_SYSTEMMODAL, "Print Success", "New Hire Checklist successfully printed.")
            $oExcelQuickGuide = _Excel_Open(False)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Error", "Error starting Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            $sFilePathQuickGuide = @ScriptDir & "\Documents\New Hire Quick Guide.xlsx"
            $workbookQuickGuide = _Excel_BookOpen($oExcelQuickGuide, $sFilePathQuickGuide)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Error", "Error opening to workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            _Excel_Print($oExcelQuickGuide, $workbookQuickGuide.Activesheet, Default, $ConfigFileCheckPrinterSelection, Default, Default, Default, Default, Default)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Printing Error", "Error printing worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            MsgBox($MB_SYSTEMMODAL, "Print Success", "New Hire Quick Guide successfully printed.")
            _Excel_BookClose($workbookChecklist, False)
            _Excel_BookClose($workbookQuickGuide, False)

I do not receive any errors. Just any excel workbooks I had open before this particular function runs gets closed after the documents print. 

Edited by Kaimberex
Posted (edited)
$Excel = _Excel_Open(True, Default, True, Default, True)

im not 100% sure if this is correct but the last true on the line forces and new instance of Excel rather than using an already open one. try it and see.

Edited by joboy2k
spelling mistake
Posted

It's correct ;) 

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...