1. 程式人生 > >vbscript 中對excel常見操作[轉]

vbscript 中對excel常見操作[轉]

dim oExcel,oWb,oSheet
Set oExcel= CreateObject("Excel.Application")
Set oWb = oExcel.Workbooks.Open("E:\其他\新裝電話表.xls")
Set oSheet = oWb.Sheets("Sheet1")
MsgBox oSheet.Range("B2").Value '#提取單元格B2內容
'.....
3、如果是XP系統,可以使用如下程式碼
Dim objFileDlg
Set objFileDlg = CreateObject("UserAccounts.CommonDialog")
objFileDlg.Filter = "Excel File (*.xls) |*.xls"
If objFileDlg.ShowOpen Then
msgbox "您選擇的檔案是:" & objFileDlg.FileName & vbCrLf
End If
VBS控制Excel的一些常見方法:
(一) 使用動態建立的方法
首先建立 Excel 物件,使用ComObj:
oExcel = CreateObject( "Excel.Application" )
1) 顯示當前視窗:
oExcel.Visible = True
2) 更改 Excel 標題欄:
oExcel.Caption = "應用程式呼叫 Microsoft Excel"
3) 新增新工作簿:
oExcel.WorkBooks.Add
4) 開啟已存在的工作簿:
oExcel.WorkBooks.Open( "C:\Excel\Demo.xls" )
5) 設定第2個工作表為活動工作表:
oExcel.WorkSheets(2).Activate

oExcel.WorksSheets( "Sheet2" ).Activate
6) 給單元格賦值:
oExcel.Cells(1,4).Value = "第一行第四列"
7) 設定指定列的寬度(單位:字元個數),以第一列為例:
oExcel.ActiveSheet.Columns(1).ColumnsWidth = 5
8) 設定指定行的高度(單位:磅)(1磅=0.035釐米),以第二行為例:
oExcel.ActiveSheet.Rows(2).RowHeight = 1/0.035 ' 1釐米
9) 在第8行之前插入分頁符:
oExcel.WorkSheets(1).Rows(8).PageBreak = 1
10) 在第8列之前刪除分頁符:
oExcel.ActiveSheet.Columns(4).PageBreak = 0
11) 指定邊框線寬度:
oExcel.ActiveSheet.Range( "B3:D4" ).Borders(2).Weight = 3
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列單元格公式:
oExcel.ActiveSheet.Cells(1,4).ClearContents
13) 設定第一行字型屬性:
oExcel.ActiveSheet.Rows(1).Font.Name = "隸書"
oExcel.ActiveSheet.Rows(1).Font.Color = clBlue
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.HeaderMargin = 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.CenterHorizontally = 2/0.035
j.頁面垂直居中:
oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.035
k.列印單元格網線:
oExcel.ActiveSheet.PageSetup.PrintGridLines = True
15) 拷貝操作:
a.拷貝整個工作表:
oExcel.ActiveSheet.Used.Range.Copy
b.拷貝指定區域:
oExcel.ActiveSheet.Range( "A1:E2" ).Copy
c.從A1位置開始貼上:
oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial
d.從檔案尾部開始貼上:
oExcel.ActiveSheet.Range.PasteSpecial
16) 插入一行或一列:
a. oExcel.ActiveSheet.Rows(2).Insert
b. oExcel.ActiveSheet.Columns(1).Insert
17) 刪除一行或一列:
a. oExcel.ActiveSheet.Rows(2).Delete
b. oExcel.ActiveSheet.Columns(1).Delete
18) 列印預覽工作表:
oExcel.ActiveSheet.PrintPreview
19) 列印輸出工作表:
oExcel.ActiveSheet.PrintOut
20) 工作表儲存:
if not oExcel.ActiveWorkBook.Saved then
oExcel.ActiveSheet.PrintPreview
21) 工作表另存為:
oExcel.SaveAs( "C:\Excel\Demo1.xls" )
22) 放棄存檔:
oExcel.ActiveWorkBook.Saved = True
23) 關閉工作簿:
oExcel.WorkBooks.Close
24) 退出 Excel:
oExcel.Quit
(二) 使用VBS 控制Excle二維圖
1)選擇當第一個工作薄第一個工作表
set oSheet=oExcel.Workbooks(1).Worksheets(1)
2)增加一個二維圖
achart=oSheet.chartobjects.add(100,100,200,200)
3)選擇二維圖的形態
achart.chart.charttype=4
4)給二維圖賦值
set series=achart.chart.seriescollection
range="sheet1!r2c3:r3c9"
series.add range,true
5)加上二維圖的標題
achart.Chart.HasTitle=True
achart.Chart.ChartTitle.Characters.Text=" Excle二維圖"
6)改變二維圖的標題字型大小
achart.Chart.ChartTitle.Font.size=18
7)給二維圖加下標說明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "下標說明"
8)給二維圖加左標說明
achart.Chart.Axes(xlValue, xlPrimary).HasTitle = True
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "左標說明"
9)給二維圖加右標說明
achart.Chart.Axes(xlValue, xlSecondary).HasTitle = True
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "右標說明"
10)改變二維圖的顯示區大小
achart.Chart.PlotArea.Left = 5
achart.Chart.PlotArea.Width = 223
achart.Chart.PlotArea.Height = 108
本文來自: 指令碼之家(
www.jb51.net
) 詳細出處參考:http://www.jb51.net/article/20919.htm