norsemanGrey Skrevet 6. mai 2011 Del Skrevet 6. mai 2011 Jeg prøver å lage en funskjon i VBScript som skal opprette en ny Excel fil med ark som bestemt i inputen til funksjonen. Men den ser ikke helt ut til å fungere som den skal. Funksjonen lager en ny fil med arket som spesifisert hvis filen ikke eksisterer fra før av, men når jeg prøver å åpne filen får jeg bare en generell feilmld fra MS. Det ser ikke ut til at fuksjonen lukker Excel skikkelig etter at den er ferdig med å lage filen for jeg ser i 'task manager' at Excle prosessen fortsatt går. Er det noe som kan ta en titt på koden min og se om det er noen som ikke stemmmer/burde vært gjort annerledes? Function funcSys_CreateExcelFile(vstrPath, vstrSheetName) ' Variable Declaration Dim vobjExcel, vobjWorkbook Dim vboolExistence ' Constants Declaration Const xlNormal = -4143 ' Create Excel Object Set vobjExcel = CreateObject("Excel.Application") ' Disable Excel UI Elements vobjExcel.DisplayAlerts = False vobjExcel.AskToUpdateLinks = False vobjExcel.AlertBeforeOverwriting = False ' Check if File Exists vboolExistence = funcSys_ExecuteFileOperation("Find", vstrPath, "") ' If a File Exists Open the File If vboolExistence > 0 Then ' Open the Excel File Set vobjWorkbook = vobjExcel.Workbooks.Open(vstrPath, False, False) Else ' Create a New Excel File Set vobjWorkbook = vobjExcel.Workbooks.Add() End If ' Create a New Sheet if One is Specified If vstrSheetName <> "" Then ' Add a New Sheet vobjWorkbook.Worksheets.Add().Name = vstrSheetName ' Move the New Sheet to the End vobjWorkbook.Sheets(1).Move, vobjWorkbook.Sheets(vobjWorkbook.Sheets.Count) End If ' Delete Default Sheets if Creating New File If vboolExistence = 0 Then vobjWorkbook.Worksheets(3).Delete vobjWorkbook.Worksheets(2).Delete ' Delete the Last Sheet only if a New Sheet is Given in the Function Argument If vstrSheetName <> "" Then vobjWorkbook.Worksheets(1).Delete End If ' Save the Excel File vobjWorkbook.SaveAs vstrPath, xlNormal, "", "", False, False vobjWorkbook.Close ' Catch Error and Inform ' ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ If Err.Number <> 0 Then funcSys_CreateExcelFile = -1 Call funcSys_HandleError($Ext("There was and error creating/updating the Excel file."), vstrFunctionName, Err.Number, Err.Description, 0) Else funcSys_CreateExcelFile = 1 End If ' ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ' Quit vobjExcel.Quit ' Clear Set vobjExcel = Nothing Set vobjWorkbook = Nothing End Function Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå