vbs 之 excel 使用VBScript 操作excel
阿新 • • 發佈:2018-11-14
開啟excel及新建工作薄
'' 2. Method ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' 2.1 CreateObject Method ' 語法:CreateObject(appname.objectType, [servename]) ' 解釋:appname, 必要, Variant(字串)。提供該物件的應用程式名。 ' objecttype, 必要,Variant。帶建立物件的型別或是類。 'servename,可選,Variant。要在其上建立物件的網路伺服器名稱。 ' ' 說明:要建立ActiveX物件,只需將CreateObject返回的物件賦給一個物件變數: ' 例子:Set oExcel = CreateObject("Excel.Application") ' 宣告一個物件變數,並使用動態建立方法建立該物件 Dim oExcel Set oExcel = CreateObject("Excel.Application") ' 1) 使Excel可見 oExcel.Visible = true ' 2) 更改Excel標題欄oExcel.caption = "qyx's vbs" ' 3) 新增一個新的工作薄 oExcel.workBooks.add ' 4) 開啟已存在的工作薄 ' oExcel.workbooks.open("d:\temp.xlsx") ' 5) 設定第2個工作頁為活動工作表 oExcel.worksheets(2).activate ' 或者 ' oExcel.worksheets("Sheet2").activate
單元格賦值及基本操作
' 6) 給單元格賦值 oExcel.cells(1,1).value = "This is column A, row 1" ' 7) 設定指定行的高度(單位:磅, 0.035cm) oExcel.activeSheet.rows(2).rowHeight = 1/0.035 ' 1cm ' 8) 設定指定列的寬度(單位:字元個數) oExcel.activeSheet.columns(1).columnWidth = 5 ' 9) 在第8行之前插入分頁符 oExcel.worksheets(1).rows(8).pagebreak = 1 ' 10) 在第8列之前刪除分頁符 oExcel.worksheets(1).columns(8).pagebreak = 0 ' 11) 指定邊框線寬度 ' 說明:1-左 2-右 3-頂 4-底 5-\ 6-/ oExcel.activeSheet.range("B3:D4").borders(5).weight = 3 ' 12) 清除第1行第4列單元格公式 oExcel.activeSheet.cells(1,4).clearcontents ' oExcel.activeSheet.cells(1,4).value = "" ' 13) 設定第一行字型屬性 oExcel.activeSheet.rows(1).font.name = "黑體" oExcel.activesheet.rows(1).font.color = vbRed oExcel.activeSheet.rows(1).font.bold = true oExcel.activesheet.rows(1).font.underLine = true
頁面設定
' 14) 頁面設定 ' a) 頁首 oExcel.activeSheet.pageSetup.centerHeader = "報表演示" ' b) 頁尾 oExcel.activeSheet.pageSetup.centerFooter = "第&P頁" ' c) 頁首到頂端邊距2cm oExcel.activeSheet.pageSetup.headerMargin = 2/0.035 ' d) 頁尾到底端邊距3cm oExcel.activeSheet.pageSetup.footerMargin = 3/0.035 ' e) 頂邊距2cm oExcel.activeSheet.pageSetup.topMargin = 2/0.035 ' f) 底邊距2cm oExcel.activeSheet.pageSetup.bottomMargin = 2/0.035 ' g) 左邊距2cm oExcel.activeSheet.pageSetup.leftMargin = 2/0.035 ' h) 右邊距2cm oExcel.activeSheet.pageSetup.rightMargin = 2/0.035 ' i) 頁首水平居中 oExcel.activeSheet.pageSetup.centerVertically = 2/0.035 ' k) 列印單元格網線 oExcel.activeSheet.pageSetup.printGridLines = true
拷貝及貼上操作
' 15) 拷貝與貼上操作 ' a) 拷貝整個工作表 ' oExcel.activeSheet.copy ' 未測試 ' b) 拷貝指定區域 oExcel.activeSheet.range("A1:E2").copy ' c) 從A1位置開始貼上 oExcel.activeSheet.range("A1").pasteSpecial ' d) 從檔案尾部開始貼上 ' oExcel.activeSheet.range.pasteSpecial '未測試 ' 16) 插入一行或一列 oExcel.activeSheet.rows(2).insert oExcel.activeSheet.columns(1).insert ' 17) 刪除一行或一列 oExcel.activeSheet.rows(2).delete oExcel.activeSheet.columns(1).delete
列印及預覽
' 18) 列印預覽工作表 oExcel.activeSheet.printPreview ' 19) 列印輸出工作表 oExcel.activeSheet.printOut
儲存及退出
' 20) 工作表儲存 if not oExcel.activeWorkBook.saved then oExcel.activeWorkBook.save msgbox oexcel.activeworkbook.saved end if ' 21) 關閉退出 ' 關閉工作薄 oExcel.activeWorkBook.close ' 使用應用程式物件的quit方法關閉Excel oExcel.Quit ' 釋放該物件變數 Set oExcel = Nothing