Dim
ObjExcelApp
Dim
objExcelSheet
Dim
objExcelBook
Dim
objFso
Function
CreateExcel()
Dim
objExcelSheet
Set
ObjExcelApp = CreateObject(
"Excel.Application"
)
ObjExcelApp.Workbooks.Add
ObjExcelApp.Visible =
True
Set
CreateExcel = ObjExcelApp
End
Function
Sub
CloseExcel(ObjExcelApp)
Set
objExcelSheet = ObjExcelApp.ActiveSheet
Set
objExcelBook = ObjExcelApp.ActiveWorkbook
Set
objFso = CreateObject(
"Scripting.FileSystemObject"
)
On
Error
Resume
Next
objFso.CreateFolder
"C:\Viplav"
objFso.DeleteFile
"C:\Viplav\ExcelExamples.xls"
objExcelBook.SaveAs
"C:\Viplav\ExcelExamples.xls"
ObjExcelApp.Quit
Set
ObjExcelApp =
Nothing
Set
objFso =
Nothing
Err = 0
On
Error
GoTo
0
End
Sub
Function
SaveWorkbook(ObjExcelApp, workbookIdentifier, path)
Dim
workbook
On
Error
Resume
Next
Set
workbook = ObjExcelApp.Workbooks(workbookIdentifier)
On
Error
GoTo
0
If
Not
workbook
Is
Nothing
Then
If
path =
""
Or
path = workbook.FullName
Or
path = workbook.Name
Then
workbook.Save
Else
Set
objFso = CreateObject(
"Scripting.FileSystemObject"
)
If
InStr(path,
"."
) = 0
Then
path = path &
".xls"
End
If
On
Error
Resume
Next
objFso.DeleteFile path
Set
objFso =
Nothing
Err = 0
On
Error
GoTo
0
workbook.SaveAs path
End
If
SaveWorkbook =
"OK"
Else
SaveWorkbook =
"Bad Workbook Identifier"
End
If
End
Function
Sub
SetCellValue(objExcelSheet, row, column, value)
On
Error
Resume
Next
objExcelSheet.Cells(row, column) = value
On
Error
GoTo
0
End
Sub
Function
GetCellValue(objExcelSheet, row, column)
value = 0
Err = 0
On
Error
Resume
Next
tempValue = objExcelSheet.Cells(row, column)
If
Err = 0
Then
value = tempValue
Err = 0
End
If
On
Error
GoTo
0
GetCellValue = value
End
Function
Function
GetSheet(ObjExcelApp, sheetIdentifier)
On
Error
Resume
Next
Set
GetSheet = ObjExcelApp.Worksheets.Item(sheetIdentifier)
On
Error
GoTo
0
End
Function
Function
InsertNewWorksheet(ObjExcelApp, workbookIdentifier, sheetName)
Dim
workbook
Dim
worksheet
If
workbookIdentifier =
""
Then
Set
workbook = ObjExcelApp.ActiveWorkbook
Else
On
Error
Resume
Next
Err = 0
Set
workbook = ObjExcelApp.Workbooks(workbookIdentifier)
If
Err <> 0
Then
Set
InsertNewWorksheet =
Nothing
Err = 0
Exit
Function
End
If
On
Error
GoTo
0
End
If
sheetCount = workbook.Sheets.Count
workbook.Sheets.Add , sheetCount
Set
worksheet = workbook.Sheets(sheetCount + 1)
If
sheetName <>
""
Then
worksheet.Name = sheetName
End
If
Set
InsertNewWorksheet = worksheet
End
Function
Function
RenameWorksheet(ObjExcelApp, workbookIdentifier, worksheetIdentifier, sheetName)
Dim
workbook
Dim
worksheet
On
Error
Resume
Next
Err = 0
Set
workbook = ObjExcelApp.Workbooks(workbookIdentifier)
If
Err <> 0
Then
RenameWorksheet =
"Bad Workbook Identifier"
Err = 0
Exit
Function
End
If
Set
worksheet = workbook.Sheets(worksheetIdentifier)
If
Err <> 0
Then
RenameWorksheet =
"Bad Worksheet Identifier"
Err = 0
Exit
Function
End
If
worksheet.Name = sheetName
RenameWorksheet =
"OK"
End
Function
Function
RemoveWorksheet(ObjExcelApp, workbookIdentifier, worksheetIdentifier)
Dim
workbook
Dim
worksheet
On
Error
Resume
Next
Err = 0
Set
workbook = ObjExcelApp.Workbooks(workbookIdentifier)
If
Err <> 0
Then
RemoveWorksheet =
"Bad Workbook Identifier"
Exit
Function
End
If
Set
worksheet = workbook.Sheets(worksheetIdentifier)
If
Err <> 0
Then
RemoveWorksheet =
"Bad Worksheet Identifier"
Exit
Function
End
If
worksheet.Delete
RemoveWorksheet =
"OK"
End
Function
Function
CreateNewWorkbook(ObjExcelApp)
Set
NewWorkbook = ObjExcelApp.Workbooks.Add()
Set
CreateNewWorkbook = NewWorkbook
End
Function
Function
OpenWorkbook(ObjExcelApp, path)
On
Error
Resume
Next
Set
NewWorkbook = ObjExcelApp.Workbooks.Open(path)
Set
OpenWorkbook = NewWorkbook
On
Error
GoTo
0
End
Function
Sub
ActivateWorkbook(ObjExcelApp, workbookIdentifier)
On
Error
Resume
Next
ObjExcelApp.Workbooks(workbookIdentifier).Activate
On
Error
GoTo
0
End
Sub
Sub
CloseWorkbook(ObjExcelApp, workbookIdentifier)
On
Error
Resume
Next
ObjExcelApp.Workbooks(workbookIdentifier).Close
On
Error
GoTo
0
End
Sub
Function
CompareSheets(sheet1, sheet2, startColumn, numberOfColumns, startRow, numberOfRows, trimed)
Dim
returnVal
returnVal =
True
If
sheet1
Is
Nothing
Or
sheet2
Is
Nothing
Then
CompareSheets =
False
Exit
Function
End
If
For
r = startRow to (startRow + (numberOfRows - 1))
For
c = startColumn to (startColumn + (numberOfColumns - 1))
Value1 = sheet1.Cells(r, c)
Value2 = sheet2.Cells(r, c)
If
trimed
Then
Value1 = Trim(Value1)
Value2 = Trim(Value2)
End
If
If
Value1 <> Value2
Then
Dim
cell
sheet2.Cells(r, c) =
"Compare conflict - Value was '"
& Value2 &
"', Expected value is '"
& Value1 &
"'."
Set
cell = sheet2.Cells(r, c)
cell.Font.Color = vbRed
returnVal =
False
End
If
Next
Next
CompareSheets = returnVal
End
Function