以下是一些VBScript操作Excel的實(shí)例,比如如何通過(guò)VbS打開(kāi)Excel,新建Excel、Sheet,刪除
Sheet,另存Excel文件,在指定的Sheet Cells中寫(xiě)入以及讀取Sheet中usedRange中的內容。
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example1
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-1-31
' COMMENT: 打開(kāi)Excel文件
'==========================================================================
Dim xlsApp,xlsWorkBook,xlsSheet
Dim iRowCount,numAdd
Set xlsApp = CreateObject("Excel.Application") '創(chuàng )建Excel對象
xlsApp.Visible = True 'true 為顯示excel對象,false為不顯示
Set xlsWorkBook = xlsApp.Workbooks.Open ("d:\data.xls") '打開(kāi)指定路徑的Excel表格
Set xlsSheet = xlsWorkBook.Sheets("sheet1") '選擇指定Sheet1
iRowCount = xlsSheet.usedRange.Rows.Count '獲取sheet中有內容的Rowcount行數
For iLoop = 2 To iRowCount
numAdd = xlsSheet.Cells(iLoop,1) '取Cells中的值
MsgBox iLoop '顯示第一列從第二行開(kāi)始到iLoop行為止。
Next
xlsWorkBook.Save
xlsWorkBook.Close
xlsApp.Quit
Set xlsApp = Nothing '釋放Excel對象
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example2
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-1-31
' COMMENT: 打開(kāi)Excel文件
'==========================================================================
rem 打開(kāi)Excel文件,Excel及sheet2需預先建立,不然找不到要打開(kāi)的文件
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = CreateObject("Excel.Application") '創(chuàng )建Excel對象
Set xlsWorkBook = xlsApp.Workbooks.Open ("d:\weibin\2010.xls")'打開(kāi)指定路徑的Excel表格
xlsApp.Visible = True 'true 為顯示excel對象,false為不顯示
Set xlsSheet = xlsApp.Sheets.Item("Sheet2")'選擇指定Sheet2
xlsWorkBook.Save '保存工作表
'xlsApp.Quit '退出Excel對象
Set xlsApp = Nothing '釋放Excel對象
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
rem 將上面的一段程序封裝成Function函數,Exel文件路徑作為參數。
Function OPenExcelFile(FilePath)
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = CreateObject("Excel.Application") '創(chuàng )建Excel對象
Set xlsWorkBook = xlsApp.Workbooks.Open (FilePath)'打開(kāi)指定路徑的Excel表格
xlsApp.Visible = True 'true 為顯示excel對象,false為不顯示
Set xlsSheet = xlsApp.Sheets.Item("Sheet2")'選擇指定Sheet2頁(yè)
xlsWorkBook.Save '保存工作表
'xlsApp.Quit '退出Excel對象
Set xlsApp = Nothing '釋放Excel對象
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
End Function
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example3
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-1-31
' COMMENT: 另存Excel文件
'==========================================================================
rem 新建Excel文件并保存到一個(gè)指定位置,并在Sheet2中寫(xiě)入值
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = WScript.CreateObject("Excel.Application") '定義一個(gè)Excel對象
Set xlsWorkBook = xlsapp.Workbooks.Add '新建一Excel實(shí)例
xlsApp.Visible = True '顯示Excel對象
Set xlsSheet = xlsApp.Sheets.Item(2) '獲取工作簿的第二個(gè)Sheet頁(yè)
' xlsApp.Sheets.Item(2).Select '與上一句有相同的功能
xlsSheet.Cells(1,1).Value = "Hello World!" '在單元格錄入Hello World
xlsApp.ActiveWorkbook.SaveAs ("d:\test.xls") '保存工作表
xlsApp.Quit '退出
Set xlsSheet = Nothing '釋放內存
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
rem 將上面的一段程序封裝成Function函數,Exel文件路徑作為參數。
Function CreateExcelFile(FilePath)
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = WScript.CreateObject("Excel.Application") '定義一個(gè)Excel對象
Set xlsWorkBook = xlsapp.Workbooks.Add '新建一Excel實(shí)例
xlsApp.Visible = True '顯示Excel對象
Set xlsSheet = xlsApp.Sheets.Item(2) '獲取工作簿的第二個(gè)Sheet頁(yè)
' xlsApp.Sheets.Item(2).Select '與上一句有相同的功能
xlsSheet.Cells(1,1).Value = "Hello World!" '在單元格錄入Hello World
xlsApp.ActiveWorkbook.SaveAs (FilePath) '保存工作表
xlsApp.Quit '退出
Set xlsSheet = Nothing '釋放內存
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
End Function
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example4
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-1-31
' COMMENT: 添加新的Sheets并且命名另存
'==========================================================================
rem excel新建,sheet新建,重命名后另存
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = WScript.CreateObject("Excel.Application") '新建一Excel實(shí)例
xlsApp.Visible = True '顯示Excel對象
Set xlsWorkBook = xlsapp.Workbooks.Add() '新建一Excel實(shí)例
Set xlsSheet = xlsWorkBook.Sheets.Add() '新建一新Sheet
xlsSheet.name "Practise" '新Sheet命名為Practise
xlsSheet.activate '激活sheet
xlsSheet.range("A1:B5").Value = "Hello World" '在新sheet range A1至B5中中寫(xiě)入Hello World
xlsApp.ActiveWorkbook.SaveAs "D:\weibin\Hope.xls" '保存Excel至D:\weibin
xlsApp.Quit '退出
Set xlsSheet = Nothing '釋放內存
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
rem 封裝AddSheets函數
Function AddSheets(FilePath)
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = WScript.CreateObject("Excel.Application") '新建一Excel實(shí)例
xlsApp.Visible = True '顯示Excel對象
Set xlsWorkBook = xlsapp.Workbooks.Add() '新建一Excel實(shí)例
Set xlsSheet = xlsWorkBook.Sheets.Add() '新建一新Sheet
xlsSheet.name "Practise" '新Sheet命名為Practise
xlsSheet.activate '激活sheet
xlsSheet.range("A1:B5").Value = "Hello World" '在新sheet range A1至B5中中寫(xiě)入Hello World
xlsApp.ActiveWorkbook.SaveAs (FilePath) '保存Excel至D:\weibin
xlsApp.Quit '退出
Set xlsSheet = Nothing '釋放內存
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
End Function
AddSheets "c:\weibin\hope.xls"
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example5
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-1-31
' COMMENT: 刪除新建Excel指定的Sheet
'==========================================================================
Rem 刪除指定的Sheet1,設定不同的n,可以刪除不同的Sheet
Function DeleteSheet(n)
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = WScript.CreateObject("Excel.Application") '新建一Excel實(shí)例
Set xlsWorkBook = xlsapp.Workbooks.Add() '新建一Excel實(shí)例
xlsApp.Visible = True '顯示Excel對象
xlsWorkBook.Worksheets("Sheet"&n).Delete
xlsApp.Quit '退出
Set xlsSheet = Nothing '釋放內存
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
End Function
DeleteSheet(1)
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example6
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-1-31
' COMMENT: 創(chuàng )建,寫(xiě)入,保存Excel文件
'==========================================================================
Function CreateWriteSaveAsExcelFile(n,i,j,FilePath)
Dim xlsApp,xlsWorkBook,xlsSheet
Set xlsApp = WScript.CreateObject("Excel.Application") '新建一Excel實(shí)例
Set xlsWorkBook = xlsApp.Workbooks.Add() '新建一Excel實(shí)例
xlsapp.Visible = True '顯示Excel對象
Set xlsSheet = xlsApp.Sheets.Item(n) '獲取工作簿的第二個(gè)Sheet頁(yè)
' xlsApp.Sheets.Item(2).Select '與上一句有相同的功能
' xlsWorkBook.Worksheets("Sheet1").activate '與上一句有相同功能
xlsSheet.Cells(i,j).Value = "For Testing" '在單元格錄入For Testing
' xlsWorkBook.Worksheets("Sheet2").Cells(1,1).Value = "For Testing" '與上一句有相同功能
xlsApp.ActiveWorkbook.SaveAs (FilePath) '保存工作表
xlsApp.Quit '退出
Set xlsSheet = Nothing '釋放內存
Set xlsWorkBook = Nothing '釋放內存
Set xlsApp = Nothing '釋放內存
End Function
CreateWriteSaveAsExcelFile (1,2,2,"c:\weibin\Practice.xls")
'==========================================================================
' VBScript. Source File -- Created with SAPIEN Technologies PrimalScript. 4.1
' NAME:Example7
' AUTHOR: Weibin , cpic-ing
' DATE : 2011-3-10
' COMMENT: 比較InsuredNo,若相同寫(xiě)入新創(chuàng )建的Sheet中
'==========================================================================
Option Explicit
On Error Resume Next
'定義相關(guān)變量
Dim xlsApp,xlsWorkBook,xlsSheet
Dim iRowCount
Dim a()
Dim b()
Dim oLoop,xLoop,jLoop
Dim i
Dim rowCount
Set xlsApp = CreateObject("Excel.Application") '創(chuàng )建Excel對象
xlsApp.Visible = True 'true 為顯示excel對象,false為不顯示
Set xlsWorkBook = xlsApp.Workbooks.Open ("d:\tmp001.xlsx") '打開(kāi)指定路徑的Excel表格
Set xlsSheet = xlsWorkBook.Sheets.add()'
xlsWorkBook.ActiveSheet.Name = "Collection"
xlsSheet.Cells(1,1).Value = "InsuredNo"
xlsSheet.Cells(1,2).Value = "ContNo"
xlsWorkBook.ActiveSheet.Rows(1).Font.Bold = True
Set xlsSheet = xlsWorkBook.Sheets("SQL Results") '選擇指定Sheet1
iRowCount = xlsSheet.usedRange.Rows.Count '獲取sheet中有內容的Rowcount行數
'聲明動(dòng)態(tài)數組變量并分配或重新分配存儲空間
WScript.Echo "通知:聲明動(dòng)態(tài)數組變量并分配或重新分配存儲空間開(kāi)始,請等待!"
ReDim a(iRowCount-2)
ReDim b(iRowCount-2)
WScript.Echo "通知:聲明動(dòng)態(tài)數組變量并分配或重新分配存儲空間成功!"
'文件中逐行讀取,并記錄數到組a,b中
WScript.Echo "通知:讀取InsuredNo和ContNo到數組a,b開(kāi)始!,讀取完后有提示,請耐心等待!"
For Loop = 0 To iRowCount - 2
a(oLoop)= xlsSheet.Cells(oLoop + 2,27).Value
b(oLoop)= xlsSheet.Cells(oLoop + 2,3).Value
Next
WScript.Echo "通知:讀取InsuredNo和ContNo到數組a,b成功!"
' 比較InsuredNO
WScript.Echo "通知:數據篩選開(kāi)始,請耐心等待!"
Set xlsSheet = xlsWorkBook.Sheets("Collection") '選擇指定Sheet1
For xLoop = 0 To iRowCount - 2
For jLoop = xLoop + 1 To iRowCount - 2
If a(xLoop) = a(jLoop) Then
xlsApp.Worksheets("Collection").Cells(xLoop + 2,1).Value = a(jLoop)
xlsApp.Worksheets("Collection").Cells(xLoop + 2,2).Value = b(jLoop)
End If
Next
Next
WScript.Echo "通知:數據篩選完成,并寫(xiě)入Excel中成功!"
xlsWorkBook.Save
xlsWorkBook.Close
xlsApp.Quit
Set xlsApp = Nothing '釋放Excel對象
Set xlsWorkBook = Nothing '釋放內存
Set xlsSheet = Nothing '釋放內存
WScript.Echo "通知:保存并關(guān)閉Excel,釋放內存成功!"
聯(lián)系客服