久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

EXCEL VBA工作表操作全能方法小結(jié)

時(shí)間:2019-05-12 13:13:51下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《EXCEL VBA工作表操作全能方法小結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《EXCEL VBA工作表操作全能方法小結(jié)》。

第一篇:EXCEL VBA工作表操作全能方法小結(jié)

EXCEL VBA工作表操作全能方法小結(jié)

[示例04-01]增加工作表(Add方法)Sub AddWorksheet()MsgBox “在當(dāng)前工作簿中添加一個(gè)工作表” Worksheets.Add MsgBox “在當(dāng)前工作簿中的工作表sheet2之前添加一個(gè)工作表” Worksheets.Add before:=Worksheets(“sheet2”)MsgBox “在當(dāng)前工作簿中的工作表sheet2之后添加一個(gè)工作表” Worksheets.Add after:=Worksheets(“sheet2”)MsgBox “在當(dāng)前工作簿中添加3個(gè)工作表” Worksheets.Add Count:=3 End Sub 示例說(shuō)明:Add方法帶有4個(gè)可選的參數(shù),其中參數(shù)Before和參數(shù)After指定所增加的工作表的位置,但兩個(gè)參數(shù)只能選一;參數(shù)Count用來(lái)指定增加的工作表數(shù)目。

------------------[示例04-02]復(fù)制工作表(Copy方法)Sub CopyWorksheet()MsgBox “在當(dāng)前工作簿中復(fù)制工作表sheet1并將所復(fù)制的工作表放在工作表sheet2之前” Worksheets(“sheet1”).Copy Before:=Worksheets(“sheet2”)MsgBox “在當(dāng)前工作簿中復(fù)制工作表sheet2并將所復(fù)制的工作表放在工作表sheet3之后” Worksheets(“sheet2”).Copy After:=Worksheets(“sheet3”)End Sub 示例說(shuō)明:Copy方法帶有2個(gè)可選的參數(shù),即參數(shù)Before和參數(shù)After,在使用時(shí)兩個(gè)參數(shù)只參選一。

------------------[示例04-03]移動(dòng)工作表(Move方法)Sub MoveWorksheet()MsgBox “在當(dāng)前工作簿中將工作表sheet3移至工作表sheet2之前” Worksheets(“sheet3”).Move Before:=Worksheets(“sheet2”)MsgBox “在當(dāng)前工作簿中將工作表sheet1移至最后” Worksheets(“sheet1”).Move After:=Worksheets(Worksheets.Count)End Sub 示例說(shuō)明:Move方法與Copy方法的參數(shù)相同,作用也一樣。

------------------[示例04-04]隱藏和顯示工作表(Visible屬性)[示例04-04-01] Sub testHide()MsgBox “第一次隱藏工作表sheet1” Worksheets(“sheet1”).Visible = False MsgBox “顯示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第二次隱藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetHidden MsgBox “顯示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第三次隱藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetHidden MsgBox “顯示工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVisible MsgBox “第四隱藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVeryHidden MsgBox “顯示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第五隱藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVeryHidden MsgBox “顯示工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVisible End Sub 示例說(shuō)明:本示例演示了隱藏和顯示工作表的各種情形。其中,使用xlSheetVeryHidden常量來(lái)隱藏工作表,將不能通過(guò)選擇工作表菜單欄中的“格式”——“工作表”——“取消隱藏”命令來(lái)取消隱藏。

------------------[示例04-04-02] Sub ShowAllSheets()MsgBox “使當(dāng)前工作簿中的所有工作表都顯示(即將隱藏的工作表也顯示)” Dim ws As Worksheet For Each ws In Sheets ws.Visible = True Next ws End Sub

------------------[示例04-05]獲取工作表數(shù)(Count屬性)[示例04-05-01] Sub WorksheetNum()Dim i As Long i = Worksheets.Count MsgBox “當(dāng)前工作簿的工作表數(shù)為:” & Chr(10)& i End Sub

------------------[示例04-05-02] Sub WorksheetNum()Dim i As Long i = Sheets.Count MsgBox “當(dāng)前工作簿的工作表數(shù)為:” & Chr(10)& i End Sub 示例說(shuō)明:在一個(gè)包含圖表工作表的工作簿中運(yùn)行上述兩段代碼,將會(huì)得出不同的結(jié)果,原因是對(duì)于Sheets集合來(lái)講,工作表包含圖表工作表。應(yīng)注意Worksheets集合與Sheets集合的區(qū)別,下同。

------------------[示例04-06]獲取或設(shè)置工作表名稱(Name屬性)[示例04-06-01] Sub NameWorksheet()Dim sName As String, sChangeName As String sName = Worksheets(2).Name MsgBox “當(dāng)前工作簿中第2個(gè)工作表的名字為:” & sName sChangeName = “我的工作表” MsgBox “將當(dāng)前工作簿中的第3個(gè)工作表名改為:” & sChangeName Worksheets(3).Name = sChangeName End Sub 示例說(shuō)明:使用Name屬性可以獲取指定工作表的名稱,也可以設(shè)置工作表的名稱。

------------------[示例04-06-02]重命名工作表 Sub ReNameSheet()Dim xStr As String Retry: Err.Clear xStr = InputBox(“請(qǐng)輸入工作表的新名稱:” _ , “重命名工作表”, ActiveSheet.Name)If xStr = “" Then Exit Sub On Error Resume Next ActiveSheet.Name = xStr If Err.Number <> 0 Then MsgBox Err.Number & ” “ & Err.Description Err.Clear GoTo Retry End If On Error GoTo 0 '.........End Sub

------------------[NextPage][示例04-07]激活/選擇工作表(Activate方法和Select方法)[示例04-07-01] Sub SelectWorksheet()MsgBox ”激活當(dāng)前工作簿中的工作表sheet2“ Worksheets(”sheet2“).Activate MsgBox ”激活當(dāng)前工作簿中的工作表sheet3“ Worksheets(”sheet3“).Select MsgBox ”同時(shí)選擇工作簿中的工作表sheet2和sheet3“ Worksheets(Array(”sheet2“, ”sheet3“)).Select End Sub 示例說(shuō)明:Activate方法只能激活一個(gè)工作表,而Select方法可以同時(shí)選擇多個(gè)工作表。

------------------[示例04-07-02] Sub SelectManySheet()MsgBox ”選取第一個(gè)和第三個(gè)工作表.“ Worksheets(1).Select Worksheets(3).Select False End Sub

------------------[示例04-08]獲取當(dāng)前工作表的索引號(hào)(Index屬性)Sub GetSheetIndex()Dim i As Long i = ActiveSheet.Index MsgBox ”您正使用的工作表索引號(hào)為“ & i End Sub

------------------[示例04-09]選取前一個(gè)工作表(Previous屬性)Sub PreviousSheet()If ActiveSheet.Index <> 1 Then MsgBox ”選取當(dāng)前工作簿中當(dāng)前工作表的前一個(gè)工作表“ ActiveSheet.Previous.Activate Else MsgBox ”已到第一個(gè)工作表“ End If End Sub 示例說(shuō)明:如果當(dāng)前工作表是第一個(gè)工作表,則使用Previous屬性會(huì)出錯(cuò)。

------------------[示例04-10]選取下一個(gè)工作表(Next屬性)Sub NextSheet()If ActiveSheet.Index <> Worksheets.Count Then MsgBox ”選取當(dāng)前工作簿中當(dāng)前工作表的下一個(gè)工作表“ ActiveSheet.Next.Activate Else MsgBox “已到最后一個(gè)工作表” End If End Sub 示例說(shuō)明:如果當(dāng)前工作表是最后一個(gè)工作表,則使用Next屬性會(huì)出錯(cuò)。

------------------[示例04-11]工作表行和列的操作 [示例04-11-01]隱藏行 Sub HideRow()Dim iRow As Long MsgBox ”隱藏當(dāng)前單元格所在的行“ iRow = ActiveCell.Row ActiveSheet.Rows(iRow).Hidden = True MsgBox ”取消隱藏“ ActiveSheet.Rows(iRow).Hidden = False End Sub

------------------[示例04-11-02]隱藏列 Sub HideColumn()Dim iColumn As Long MsgBox ”隱藏當(dāng)前單元格所在列“ iColumn = ActiveCell.Column ActiveSheet.Columns(iColumn).Hidden = True MsgBox ”取消隱藏“ ActiveSheet.Columns(iColumn).Hidden = False End Sub

------------------[示例04-11-03]插入行 Sub InsertRow()Dim rRow As Long MsgBox ”在當(dāng)前單元格上方插入一行“ rRow = Selection.Row ActiveSheet.Rows(rRow).Insert End Sub

------------------[示例04-11-04]插入列 Sub InsertColumn()Dim cColumn As Long MsgBox ”在當(dāng)前單元格所在行的左邊插入一行“ cColumn = Selection.Column ActiveSheet.Columns(cColumn).Insert End Sub

------------------[示例04-11-05]插入多行 Sub InsertManyRow()MsgBox ”在當(dāng)前單元格所在行上方插入三行“ Dim rRow As Long, i As Long For i = 1 To 3 rRow = Selection.Row ActiveSheet.Rows(rRow).Insert Next i End Sub

------------------[示例04-11-06]設(shè)置行高 Sub SetRowHeight()MsgBox ”將當(dāng)前單元格所在的行高設(shè)置為25“ Dim rRow As Long, iRow As Long rRow = ActiveCell.Row iRow = ActiveSheet.Rows(rRow).RowHeight ActiveSheet.Rows(rRow).RowHeight = 25 MsgBox ”恢復(fù)到原來(lái)的行高“ ActiveSheet.Rows(rRow).RowHeight = iRow End Sub

------------------[示例04-11-07]設(shè)置列寬 Sub SetColumnWidth()MsgBox ”將當(dāng)前單元格所在列的列寬設(shè)置為20“ Dim cColumn As Long, iColumn As Long cColumn = ActiveCell.Column iColumn = ActiveSheet.Columns(cColumn).ColumnWidth ActiveSheet.Columns(cColumn).ColumnWidth = 20 MsgBox ”恢復(fù)至原來(lái)的列寬“ ActiveSheet.Columns(cColumn).ColumnWidth = iColumn End Sub

------------------[示例04-11-08]恢復(fù)行高列寬至標(biāo)準(zhǔn)值 Sub ReSetRowHeightAndColumnWidth()MsgBox ”將當(dāng)前單元格所在的行高和列寬恢復(fù)為標(biāo)準(zhǔn)值“ Selection.UseStandardHeight = True Selection.UseStandardWidth = True End Sub

------------------[示例04-12]工作表標(biāo)簽

[示例04-12-01] 設(shè)置工作表標(biāo)簽的顏色 Sub SetSheetTabColor()MsgBox ”設(shè)置當(dāng)前工作表標(biāo)簽的顏色“ ActiveSheet.Tab.ColorIndex = 7 End Sub

------------------[示例04-12-01]恢復(fù)工作表標(biāo)簽顏色 Sub SetSheetTabColorDefault()MsgBox ”將當(dāng)前工作表標(biāo)簽顏色設(shè)置為默認(rèn)值“ ActiveSheet.Tab.ColorIndex =-4142 End Sub

------------------[示例04-12-03]交替隱藏或顯示工作表標(biāo)簽 Sub HideOrShowSheetTab()MsgBox ”隱藏/顯示工作表標(biāo)簽“ ActiveWindow.DisplayWorkbookTabs = Not ActiveWindow.DisplayWorkbookTabs End Sub------------------[NextPage][示例04-13]確定打印的頁(yè)數(shù)(HPageBreaks屬性與VPageBreaks屬性)Sub PageCount()Dim i As Long i =(ActiveSheet.HPageBreaks.Count + 1)*(ActiveSheet.VPageBreaks.Count + 1)MsgBox ”當(dāng)前工作表共“ & i & ”頁(yè).“ End Sub

------------------[示例04-14]保護(hù)/撤銷保護(hù)工作表 [示例04-14-01] Sub ProtectSheet()MsgBox ”保護(hù)當(dāng)前工作表并設(shè)定密碼“ ActiveSheet.Protect Password:=”fanjy“ End Sub 示例說(shuō)明:運(yùn)行代碼后,當(dāng)前工作表中將不允許編輯,除非撤銷工作表保護(hù)。

------------------[示例04-14-02] Sub UnprotectSheet()MsgBox ”撤銷當(dāng)前工作表保護(hù)“ ActiveSheet.Unprotect End Sub 示例說(shuō)明:運(yùn)行代碼后,如果原保護(hù)的工作表設(shè)置有密碼,則要求輸入密碼。

------------------[示例04-14-03]保護(hù)當(dāng)前工作簿中的所有工作表 Sub ProtectAllWorkSheets()On Error Resume Next Dim ws As Worksheet Dim myPassword As String myPassword = InputBox(”請(qǐng)輸入您的密碼“ & vbCrLf & _ ”(不輸入表明無(wú)密碼)“ & vbCrLf & vbCrLf & _ ”確保您沒(méi)有忘記密碼!“, ”輸入密碼“)For Each ws In ThisWorkbook.Worksheets ws.Protect(myPassword)Next ws End Sub

------------------[示例04-14-04]撤銷對(duì)當(dāng)前工作簿中所有工作表的保護(hù) Sub UnprotectAllWorkSheets()On Error Resume Next Dim ws As Worksheet Dim myPassword As String myPassword = InputBox(”請(qǐng)輸入您的密碼“ & vbCrLf & _ ”(不輸入表示無(wú)密碼)“, ”輸入密碼“)For Each ws In ThisWorkbook.Worksheets ws.Unprotect(myPassword)Next ws End Sub

------------------[示例04-14-05]僅能編輯未鎖定的單元格 Sub OnlyEditUnlockedCells()Sheets(”Sheet1“).EnableSelection = xlUnlockedCells ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub 示例說(shuō)明:運(yùn)行本代碼后,在當(dāng)前工作表中將只能對(duì)未鎖定的單元格進(jìn)行編輯,而其它單元格將不能編輯。未鎖定的單元格是指在選擇菜單“格式——單元格”命令后所彈出的對(duì)話框中的“保護(hù)”選項(xiàng)卡中,未選中“鎖定”復(fù)選框的單元格或單元格區(qū)域。

------------------[示例04-15]刪除工作表(Delete方法)Sub DeleteWorksheet()MsgBox ”刪除當(dāng)前工作簿中的工作表sheet2“ Application.DisplayAlerts = False Worksheets(”sheet2").Delete Application.DisplayAlerts = True End Sub

第二篇:EXCEL VBA工作表操作全能方法小結(jié)

EXCELVBA工作表操作全能方法小結(jié)

[示例04-01]增加工作表(Add方法)SubAddWorksheet()MsgBox“在當(dāng)前工作簿中添加一個(gè)工作表” Worksheets.Add MsgBox“在當(dāng)前工作簿中的工作表sheet2之前添加一個(gè)工作表” Worksheets.Addbefore:=Worksheets(“sheet2”)MsgBox“在當(dāng)前工作簿中的工作表sheet2之后添加一個(gè)工作表” Worksheets.Addafter:=Worksheets(“sheet2”)MsgBox“在當(dāng)前工作簿中添加3個(gè)工作表” Worksheets.AddCount:=3 EndSub

示例說(shuō)明:Add方法帶有4個(gè)可選的參數(shù),其中參數(shù)Before和參數(shù)After 指定所增加的工作表的位置,但兩個(gè)參數(shù)只能選一;參數(shù)Count用來(lái)指定增加的工作表數(shù)目。

[示例04-02]復(fù)制工作表(Copy方法)SubCopyWorksheet()MsgBox“在當(dāng)前工作簿中復(fù)制工作表sheet1并將所復(fù)制的工作表放在工作表sheet2之前” Worksheets(“sheet1”).CopyBefore:=Worksheets(“sheet2”)MsgBox“在當(dāng)前工作簿中復(fù)制工作表sheet2并將所復(fù)制的工作表放在工作表sheet3之后” Worksheets(“sheet2”).CopyAfter:=Worksheets(“sheet3”)EndSub

示例說(shuō)明:

Copy方法帶有2個(gè)可選的參數(shù),即參數(shù)Before和參數(shù)After,在使用時(shí)兩個(gè)參數(shù)只參選一。

[示例04-03]移動(dòng)工作表(Move方法)SubMoveWorksheet()MsgBox“在當(dāng)前工作簿中將工作表sheet3移至工作表sheet2之前” Worksheets(“sheet3”).MoveBefore:=Worksheets(“sheet2”)MsgBox“在當(dāng)前工作簿中將工作表sheet1移至最后” Worksheets(“sheet1”).MoveAfter:=Worksheets(Worksheets.Count)End Sub

示例說(shuō)明:

Move方法與Copy方法的參數(shù)相同,作用也一樣。

示例【04-04】隱藏和顯示工作表(Visible屬性)[示例04-04-01] SubtestHide()MsgBox“第一次隱藏工作表sheet1” Worksheets(“sheet1”).Visible=False MsgBox“顯示工作表sheet1” Worksheets(“sheet1”).Visible=True MsgBox“第二次隱藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetHidden MsgBox“顯示工作表sheet1” Worksheets(“sheet1”).Visible=True MsgBox“第三次隱藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetHidden MsgBox“顯示工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVisible MsgBox“第四隱藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVeryHidden MsgBox“顯示工作表sheet1” Worksheets(“sheet1”).Visible=True MsgBox“第五隱藏工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVeryHidden MsgBox“顯示工作表sheet1” Worksheets(“sheet1”).Visible=xlSheetVisible EndSub 示例說(shuō)明:本示例演示了隱藏和顯示工作表的各種情形。其中,使用

xlSheetVeryHidden常量來(lái)隱藏工作表,將不能通過(guò)選擇工作表菜單欄中的“格式”——“工作表”——“取消隱藏”命令來(lái)取消隱藏。[示例04-04-02] SubShowAllSheets()MsgBox“使當(dāng)前工作簿中的所有工作表都顯示(即將隱藏的工作表也顯示)” DimwsAsWorksheet For Each wsIn Sheets ws.Visible=True Next ws End Sub

[示例04-05] 獲取工作表數(shù)(Count屬性)[示例04-05-01] SubWorksheetNum()Dim IAs Long i=Worksheets.Count MsgBox“當(dāng)前工作簿的工作表數(shù)為:”&Chr(10)&i EndSub

[示例04-05-02] Sub WorksheetNum()Dim IAs Long i=Sheets.Count MsgBox“當(dāng)前工作簿的工作表數(shù)為:”&Chr(10)&i End Sub

示例說(shuō)明:在一個(gè)包含圖表工作表的工作簿中運(yùn)行上述兩段代碼,將會(huì)得出不同的結(jié)果,原因是對(duì)于Sheets集合來(lái)講,工作表包含圖表工作表。應(yīng)注意Worksheets集合與Sheets集合的區(qū)別,下同。

示例04-06]獲取或設(shè)置工作表名稱(Name屬性)[示例04-06-01] SubNameWorksheet()DimsNameAsString,sChangeNameAsString sName=Worksheets(2).Name MsgBox“ 當(dāng)前工作簿中第

2個(gè)工作表的名字為:”&sNamesChangeName=“我的工作表 ”MsgBox“將當(dāng)前工作簿中的第3個(gè)工作表名改為:”&sChangeName Worksheets(3).Name=sChangeName EndSub 示例說(shuō)明:使用Name屬性可以獲取指定工作表的名稱,也可以設(shè)置工作表的名稱。

第三篇:EXCEL操作_add工作表

方法:LPDISPATCH Add(VARIANT& Before, VARIANT& After, VARIANT& Count, VARIANT& Type);

Before Variant 類型,可選。指定工作表對(duì)象,新建的工作表將置于此工作表之前。

AfterVariant 類型,可選。指定工作表對(duì)象,新建的工作表將置于此工作表之后。

Count Variant 類型,可選。要新建的工作表的數(shù)目。默認(rèn)值為 1。

Type Variant 類型,可選。指定工作表類型。可為以下 XlSheetType 常量之一:xlWorksheet、xlChart、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。默認(rèn)值為 xlWorksheet。

說(shuō)明 如果 Before 和 After 兩者均省略,則新建的工作表將插入到活動(dòng)工作表之前。

1、未指定參數(shù)1、2

CWorksheets ExcelSheets;

ExcelSheet.Add(vtMissing,vtMissing,_variant_t((long)1),vtMissing);//添加新的工作表

//Before 和 After 兩者均省略,則新建的工作表將插入到活動(dòng)工作表之前。

2、指定參數(shù)2

CWorksheet Worksheet;

Worksheet=ExcelSheet.get_Item(COleVariant((long)1));

ExcelSheet.Add(vtMissing, _variant_t(Worksheet),_variant_t((long)1),vtMissing);

//添加新的工作表:位置在Worksheet即(Sheet1)后面

第四篇:11年最新操作表

二0一一縣(區(qū))綜治暨平安建設(shè)檢查考核操作表

(一)縣區(qū): 檢查考核時(shí)間:2011年12月 日

單位 項(xiàng)目 檢查內(nèi)容、方法

1、綜治和平安建設(shè)在黨政綜合考核總分不低于10%(查縣區(qū)委正式文件,帶回復(fù)印件)、兩次以上專題研究綜治和平安建設(shè)工作的常委會(huì)會(huì)議紀(jì)要(研究推動(dòng)解決哪些問(wèn)題,帶回復(fù)印件),與鄉(xiāng)鎮(zhèn)(街道)、綜治單位簽綜治責(zé)任書(shū)(必須為縣區(qū)委書(shū)記與所有鄉(xiāng)街和綜治單位簽訂,看是否與所有鄉(xiāng)鎮(zhèn)簽訂),3分,有一項(xiàng)不合格的扣1分; 2、2011黨政主要領(lǐng)導(dǎo)、分管領(lǐng)導(dǎo)以及綜治成員單位分管領(lǐng)導(dǎo)抓綜治和平安建設(shè)實(shí)績(jī)檔案(查建多少份檔案,并帶回縣區(qū)主要領(lǐng)導(dǎo)、分管領(lǐng)導(dǎo)的實(shí)績(jī)檔案復(fù)印件)、組織部門(mén)在提拔任用干部書(shū)面征求綜治部門(mén)意見(jiàn)(將所有書(shū)面征求意見(jiàn)的復(fù)印件帶回)、黨政領(lǐng)導(dǎo)干部表彰獎(jiǎng)勵(lì)征求綜治部門(mén)意見(jiàn)(將所有征求意見(jiàn)復(fù)印件帶回),3分;不合格的有一項(xiàng)扣1分;

3、綜治辦人員達(dá)3人、與創(chuàng)建辦人員合計(jì)達(dá)6人(查辦公桌、會(huì)議記錄、工作記錄,并將人員調(diào)整文件帶回),1分。

1、創(chuàng)新社會(huì)管理做好群眾工作的意見(jiàn)(查黨委、政府正式文件)、社會(huì)管理工作方案(查綜治委正式文件),將社會(huì)管理納入十二五規(guī)劃(將政府發(fā)文復(fù)印件帶回),2分;

2、社會(huì)管理創(chuàng)新綜合試點(diǎn)的意見(jiàn)、選取綜合試點(diǎn)的單位、鄉(xiāng)鎮(zhèn)(街道)工作方案及工作成效(將試點(diǎn)文件帶回),2分;

3、流動(dòng)人口服務(wù)管理、預(yù)防青少年違法犯罪、校園周邊治安綜合治理、社區(qū)矯正、刑釋解教等工作意見(jiàn)、總結(jié),2分.檢查結(jié)果(得分)組織領(lǐng)導(dǎo)(7分)綜 社會(huì)管理 治 辦(6分)責(zé)任落實(shí)

1、開(kāi)展兩次以上平安建設(shè)督查(查通知、實(shí)地檢查記錄、通報(bào),將兩次檢查通報(bào)、警示、一票否決的文件帶回),1分;,1分。(2分)

2、綜治五部門(mén)聯(lián)席會(huì)議、綜治成員單位開(kāi)展述職工作情況(查聯(lián)席會(huì)會(huì)議記錄和述職會(huì)議的通知、報(bào)告)

1、社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估工作(查推進(jìn)風(fēng)險(xiǎn)評(píng)估的意見(jiàn)部署、具體評(píng)估的記錄),1分;,1分; 維護(hù)穩(wěn)定

2、加強(qiáng)國(guó)家安全防線工作、重大社情掌控平臺(tái)試點(diǎn)工作(查意見(jiàn)方案,工作部署)

3、大調(diào)解工作(查司法部門(mén)牽頭人民調(diào)解、法制部門(mén)牽頭行政調(diào)解、人民法院牽頭訴訟調(diào)解以及大調(diào)解對(duì)接機(jī)制的文件(5分)以及縣區(qū)調(diào)處中心的組織機(jī)構(gòu)和專門(mén)調(diào)處小組的文件),1分;

4、矛盾糾紛大排查(查排查文件、每月排查調(diào)處報(bào)表、每月社會(huì)穩(wěn)定和社會(huì)治安分析情況報(bào)告),2分。30分 治安防控

1、防控體系建設(shè)(查計(jì)劃、技防建設(shè)計(jì)劃,將老小區(qū)和城中村防范設(shè)施改造列入政府規(guī)劃的文件復(fù)印帶回),2分;

2、社會(huì)治安重點(diǎn)地區(qū)排查整治工作(查工作方案、排查出的突出問(wèn)題、采取掛牌整治等舉措和情況總結(jié)),1分;(5分)

3、巡防工作(查專職巡防大隊(duì)人員花名冊(cè)和工資發(fā)放表;群防群治紅袖標(biāo)工程建設(shè)意見(jiàn)、季度督查情況),2分。

1、等級(jí)化創(chuàng)建(查安全鄉(xiāng)鎮(zhèn)(街道)、村(社區(qū))等級(jí)化創(chuàng)建活動(dòng)的計(jì)劃、安排以及等級(jí)評(píng)定和排名情況),2分;

2、系列平安創(chuàng)建(查意見(jiàn)方案及及平安校園、平安醫(yī)院、平安電力、平安金融、平安暢通縣區(qū)、平安文化娛樂(lè)場(chǎng)所、平基層基礎(chǔ) 安企業(yè)、平安宗教場(chǎng)所、平安工地、平安市場(chǎng)或商場(chǎng)、平安機(jī)關(guān)、平安村(社區(qū))、平安家庭創(chuàng)建意見(jiàn)方案、開(kāi)展1,2分;(5分)次以上活動(dòng)記錄,上述活動(dòng)缺一項(xiàng)扣0.5分)

3、綜治組織(查政法綜治中心實(shí)體化運(yùn)作、鄉(xiāng)村兩級(jí)綜治辦規(guī)范化建設(shè)的意見(jiàn),鄉(xiāng)鎮(zhèn)綜治辦專職副主任、綜治專干化名冊(cè),看是否達(dá)到省定標(biāo)準(zhǔn)),1分。

二0一一縣區(qū)綜治暨平安建設(shè)檢查考核操作表

(二)縣區(qū): 檢查考核時(shí)間:2011年12月 日

單位 檢查項(xiàng)目 檢查內(nèi)容、方法 檢查結(jié)果(得分)

1、組織機(jī)構(gòu)(查成立綜治和平安建設(shè)領(lǐng)導(dǎo)領(lǐng)導(dǎo)小組和辦公室的文件、有無(wú)專人負(fù)責(zé)綜治和平安建設(shè)工作),1分;

2、陣地建設(shè)(查成立創(chuàng)建辦的文件、創(chuàng)建辦有無(wú)辦公場(chǎng)所、是否掛牌),1分; 組織領(lǐng)導(dǎo)

3、專題研究綜治和平安建設(shè)工作的黨委會(huì)議記錄(查會(huì)議次數(shù)、研究解決哪些(4分)實(shí)際問(wèn)題),1分;

4、工作部署(查綜治和平安建設(shè)工作意見(jiàn)、工作部署、工作總結(jié)),1分。城 管 局 15分 矛盾化解(5分)

1、門(mén)衛(wèi)安全值守(查有幾個(gè)門(mén)衛(wèi)值守、門(mén)衛(wèi)的年齡、看是否對(duì)進(jìn)出人員進(jìn)行詢問(wèn)登記),1分; 安全防范

2、技防建設(shè)(查是否安裝技防監(jiān)控、有幾個(gè)技防探頭),1分;(4分)

3、值守制度(查安全防范工作制度、值班表、值班記錄是否健全完善),1分;

4、綜治宣傳(查有無(wú)綜治和平安建設(shè)工作宣傳宣傳標(biāo)語(yǔ)、橫幅或圖片),1分。

1、矛盾排查(查矛盾糾紛排查調(diào)處工作方案、工作機(jī)構(gòu)、排查出哪些問(wèn)題和苗頭隱患、是否有不安定因素排查登記、落實(shí)哪些措施)1分;

2、定期分析研判(查每月社會(huì)治安和社會(huì)穩(wěn)定分析研判報(bào)告)1分;

3、社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估評(píng)估工作(查社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估工作的貫徹落實(shí)意見(jiàn)和具體事項(xiàng)的風(fēng)險(xiǎn)評(píng)估記錄),5分。

1、基層聯(lián)系點(diǎn)平安結(jié)對(duì)共建工作(查工作方案和結(jié)對(duì)幫扶情況),1分;

2、開(kāi)展平安機(jī)關(guān)創(chuàng)建(查工作意見(jiàn)、工作部署和開(kāi)展情況),1分。機(jī)關(guān)創(chuàng)建(2分)

二0一一年鄉(xiāng)鎮(zhèn)(街道)綜治和平安建設(shè)檢查考核操作表

(三)縣區(qū): 鄉(xiāng)鎮(zhèn)(街道): 時(shí)間:2011年12月 日

單位 檢查項(xiàng)目 人員配備(3分)責(zé)任落實(shí)(4分)檢查內(nèi)容、方法

1、專職副主任(查姓名、任命文件、本人工作記錄,將人員任命文件帶回,兼職的一律扣分),1分;

2、綜治專干(5萬(wàn)人口以下1-2名,5萬(wàn)—10萬(wàn)人口2名,10萬(wàn)人口以上3名,查姓名、任命文件、本人工作記錄,將人員任命文件帶回,與從事司法、組織、信訪等工作的人員進(jìn)行核對(duì),兼職的一律扣分),2分。

1、綜治責(zé)任書(shū)(查是否為黨委書(shū)記簽訂,與村及派出所、司法所、信訪辦等單位的責(zé)任書(shū)),1分;

2、綜治和平安建設(shè)工作在黨政綜治考核所占分值達(dá)10%以上(查鄉(xiāng)鎮(zhèn)目標(biāo)考核的文件),1分;

3、每季度一次綜治工作督查(查督查通知、方案、操作表、檢查通報(bào)、整改情況),1分;

4、工作部署(查綜治和平安建設(shè)實(shí)施意見(jiàn)、方案),1分。

1、社會(huì)管理工作(查計(jì)劃方案、組織機(jī)構(gòu)和工作開(kāi)展情況),1分;

2、矛盾糾紛排查化解(查大排查工作方案、排查出問(wèn)題登記、落實(shí)的工作舉措和每月社會(huì)治安和社會(huì)穩(wěn)定分析研判報(bào)告),2分;

3、社會(huì)治安重點(diǎn)地區(qū)排查整治工作(查工作方案、突出問(wèn)題排查登記、采取的整治措施、取得的工作成效),1分;

4、公眾安全感建設(shè)(查提升公眾安全感的工作方案、組織部署、影響公眾安全感突出問(wèn)題排查登記及整改等情況),2分。檢查結(jié)果(得分)綜 治 辦 17分 重點(diǎn)工作開(kāi)展情況(6分),2分 基層創(chuàng)建

1、開(kāi)展鄉(xiāng)鎮(zhèn)(街道)等級(jí)化創(chuàng)建工作(工作方案、村等級(jí)評(píng)定排名等)

2、系列平安創(chuàng)建[查意見(jiàn)方案以及開(kāi)展平安村(社區(qū))、平安家庭、平安醫(yī)院、平安校園等創(chuàng)建工作的(4分)工作方案、措施推進(jìn)、工作成效],2分。機(jī)制建設(shè)

1、陣地建設(shè)(查有無(wú)服務(wù)大廳、實(shí)行8個(gè)部門(mén)以上集中辦公),2分;

2、值班值守(查中心是否明確每天帶班領(lǐng)導(dǎo)、是否有值班表、中心人員是否在崗在位),1分;

3、制度規(guī)范(查中心職責(zé)任務(wù)、工作流程、組織機(jī)構(gòu)規(guī)范明確、統(tǒng)一上墻),1分。政法綜治中心 7分(4分),1分; 工作運(yùn)轉(zhuǎn)

1、工作例會(huì)(查每周組織召開(kāi)中心組成部門(mén)工作例會(huì)的會(huì)議記錄)

2、統(tǒng)籌督辦(查矛盾糾紛聯(lián)調(diào)、社會(huì)治安聯(lián)防、突出問(wèn)題聯(lián)治、重點(diǎn)工作聯(lián)動(dòng)、平安建設(shè)聯(lián)創(chuàng)、社(3分)會(huì)管理聯(lián)抓等六聯(lián)工作機(jī)制推進(jìn)落實(shí)、聯(lián)席會(huì)辦督辦的工作記錄),2分。3

二0一一年鄉(xiāng)鎮(zhèn)(街道)綜治暨平安建設(shè)檢查考核操作表

(四)單位 檢查項(xiàng)目 技防中心(2分)

縣區(qū): 鄉(xiāng)鎮(zhèn)(街道): 時(shí)間:2011年12月 日 檢查內(nèi)容、方法

1、硬件建設(shè)(查技防中心是否達(dá)到農(nóng)村8個(gè)、城區(qū)12個(gè)探頭建設(shè)標(biāo)準(zhǔn),記明有多少技防探頭、正常運(yùn)轉(zhuǎn)的數(shù)量和監(jiān)控記錄保存時(shí)間),1分;

2、中心值守(查中心值班表和每日技防值守記錄以及運(yùn)用成果),1分; 檢查結(jié)果(得分)派 出 所 10分 隊(duì)伍建設(shè)(查專職保安、外來(lái)人口協(xié)管員的值班表、工資發(fā)放表、每日巡防記錄、值班表、考勤記錄等,看是否達(dá)到農(nóng)村人口萬(wàn)分之八,城區(qū)人口萬(wàn)分之十;300—500流動(dòng)人口1名協(xié)管員的配備標(biāo)準(zhǔn),不達(dá)標(biāo)的按比例扣分,扣完2分為止)。

1、公眾安全感建設(shè)(查工作計(jì)劃,特別是警民聯(lián)系、入戶宣傳、巡防值守、群防群治、未破案件回,2分; 安全感建設(shè) 訪等工作措施落實(shí)情況)

2、社會(huì)治安重點(diǎn)地區(qū)排查整治工作(查計(jì)劃方案、排查出的突出問(wèn)題和工作開(kāi)展情況),1分;(5分)

3、群防群治工作(查工作方案、巡防記錄、檢查記錄和群防群治人員化名冊(cè)),1分;

4、破案打擊(查1-11月份刑事發(fā)案數(shù)、破案數(shù),看是否達(dá)到45%破案率),1分。保安輔警(2分)矛盾化解(1分)人員配備(1分)公調(diào)對(duì)接(查公調(diào)對(duì)接方案、組織、調(diào)處糾紛登記和設(shè)立公調(diào)對(duì)接室、配備兩名專職調(diào)解員),1分。查司法所人員姓名、職務(wù)、任命文件、工作筆記、會(huì)議記錄等,看是否達(dá)到3人標(biāo)準(zhǔn)。司 法 所 6分 安全感建設(shè) 加強(qiáng)安全感建設(shè)的工作計(jì)劃以及開(kāi)展法制宣傳教育的工作計(jì)劃、工作進(jìn)展情況(1分)

1、調(diào)處中心(查人員在崗在位、配備2名專職調(diào)解員的聘書(shū)),1分; 矛盾化解

2、矛盾糾紛排查調(diào)處(查社會(huì)矛盾糾紛大排查工作方案、“三無(wú)”即無(wú)矛盾激化、無(wú)民轉(zhuǎn)刑案件、無(wú),1分;(3分)群體性上訪創(chuàng)建方案,排查出哪些問(wèn)題和每半月一次的矛盾糾紛排查調(diào)處報(bào)表和分析報(bào)告)

3、大調(diào)解機(jī)制建設(shè)(查公調(diào)對(duì)接、訪調(diào)對(duì)接、勞資糾紛調(diào)處對(duì)接等工作意見(jiàn)、調(diào)處交接單),1分。特殊人群(1分)社區(qū)矯正(查工作計(jì)劃、社區(qū)矯正人員的入矯記錄、工作銜接審核報(bào)批記錄、每周一次電話管控記錄、每月組織一次見(jiàn)面管控記錄等)4

二0一一年鄉(xiāng)鎮(zhèn)(街道)綜治和平安建設(shè)檢查操作表

(五)縣區(qū): 鄉(xiāng)鎮(zhèn)(街道): 時(shí)間:2011年12月 日 單位 檢查項(xiàng)目 檢查內(nèi)容、方法

1、組織機(jī)構(gòu)(查綜治辦是否掛牌、是否有辦公場(chǎng)所以及綜治辦職責(zé)、制度任務(wù)是否規(guī)范上墻,是否有工作計(jì)劃安排),1分;

2、人員配備(查有人專抓綜治工作的村干部、是否在崗在位),1分;

3、治保委、調(diào)解委(查治保委、調(diào)解委機(jī)構(gòu)是否健全、是否有調(diào)解室),1分;

4、排查研判(查每周社會(huì)治安和社會(huì)穩(wěn)定情況排查記錄是否齊全規(guī)范),1分;

5、綜治宣傳(查有無(wú)綜治和平安建設(shè)工作的宣傳標(biāo)語(yǔ)和橫幅),1分;

6、群防群治(查紅袖標(biāo)義務(wù)巡防人員達(dá)到村不少于15人、社區(qū)不少于20人標(biāo)準(zhǔn)、通過(guò)調(diào)查走訪和現(xiàn)場(chǎng)查看有無(wú)紅袖標(biāo)人員開(kāi)展巡邏防范),1分。

1、人員配備(查是否配備社區(qū)(駐村)民警、專職保安是否達(dá)到社區(qū)2保安、村1名保安標(biāo)準(zhǔn),查人員姓名、值班表、工作記錄),1分;

2、日常工作(查每日巡邏記錄、矛盾糾紛調(diào)解臺(tái)帳、調(diào)處多少起矛盾糾紛),1分。

1、意見(jiàn)部署(查平安校園工作意見(jiàn),有專人負(fù)責(zé)創(chuàng)建辦是否掛牌),1分;

2、技防、設(shè)施防(查校園是否有技防監(jiān)控設(shè)施、有幾個(gè)探頭;是否建立校園警務(wù)室或校園110建立,有無(wú)專職保安人員值守并記明人員數(shù),是否配備安全防范設(shè)施),1分;

3、法制教育(查是否聘請(qǐng)法制副校長(zhǎng)、看聘書(shū),兩次以上的法制教育,看講稿、計(jì)劃安排、法制教育計(jì)劃、臺(tái)賬),1分;

4、綜治宣傳(查是否有綜治和平安建設(shè)宣傳標(biāo)語(yǔ)、橫幅)。走訪縣城和城區(qū)兩個(gè)居民小區(qū)

1、創(chuàng)建氛圍(查有無(wú)綜治和平安建設(shè)宣傳標(biāo)語(yǔ)、橫幅),1分。

2、巡邏防范(查有無(wú)專職保安人員值守、值班表和巡邏記錄,是否對(duì)進(jìn)出車輛和人員進(jìn)行詢問(wèn)登記)

3、技防、設(shè)施防(查有無(wú)安裝技防設(shè)施、有無(wú)全覆蓋,有無(wú)防范攀爬等設(shè)施),1分。檢查結(jié)果(得分)村(社區(qū))8分 綜治辦(6分)警務(wù)室(2分)學(xué) 校 4分 學(xué)校創(chuàng)建(4分)居民 小區(qū) 3分 治安防范(3分)5

第五篇:vb操作EXCEL表的常用方法

vb操作EXCEL表的常用方法(設(shè)計(jì)值,顏色,大小)2009-05-18 15:37 VB是常用的應(yīng)用軟件開(kāi)發(fā)工具之一,由于VB的報(bào)表功能有限,而且一但報(bào)表格式發(fā)生變化,就得相應(yīng)修改程序,給應(yīng)用軟件的維護(hù)工作帶來(lái)極大的不便。因此有很多程序員現(xiàn)在已經(jīng)充分利用EXECL的強(qiáng)大報(bào)表功來(lái)實(shí)現(xiàn)報(bào)表功能。但由于VB與EXCEL由于分別屬于不同的應(yīng)用系統(tǒng),如何把它們有機(jī)地結(jié)合在一起,是一個(gè)值得我們研究的課題。

一、VB讀寫(xiě)EXCEL表:

VB本身提自動(dòng)化功能可以讀寫(xiě)EXCEL表,其方法如下:

1、在工程中引用Microsoft Excel類型庫(kù):

從“工程”菜單中選擇“引用”欄;選擇Microsoft Excel 9.0 Object Library(EXCEL2000),然后選擇“確定”。表示在工程中要引用EXCEL類型庫(kù)。

2、在通用對(duì)象的聲明過(guò)程中定義EXCEL對(duì)象: Dim xlApp As Excel.Application Dim xlBook As Excel.WorkBook Dim xlSheet As Excel.Worksheet

3、在程序中操作EXCEL表常用命令:

Set xlApp = CreateObject(“Excel.Application”)'創(chuàng)建EXCEL對(duì)象

Set xlBook = xlApp.Workbooks.Open(“文件名”)'打開(kāi)已經(jīng)存在的EXCEL工件簿文件 xlApp.Visible = True '設(shè)置EXCEL對(duì)象可見(jiàn)(或不可見(jiàn))Set xlSheet = xlBook.Worksheets(“表名”)'設(shè)置活動(dòng)工作表 xlApp.Cells(row, col)=值 '給單元格(row,col)賦值

XLApp.Cells(i, 1).Interior.ColorIndex = i'設(shè)計(jì)單元格顏色i=1--56 xlSheet.PrintOut '打印工作表 xlBook.Close(True)'關(guān)閉工作簿 xlApp.Quit '結(jié)束EXCEL對(duì)象

Set xlApp = Nothing '釋放xlApp對(duì)象

xlBook.RunAutoMacros(xlAutoOpen)'運(yùn)行EXCEL啟動(dòng)宏 xlBook.RunAutoMacros(xlAutoClose)'運(yùn)行EXCEL關(guān)閉宏 自己用代碼就可以獲取顏色列表了 Sub yansecode()For i = 1 To 56 XlApp.Cells(i, 1)= i xlapp.Cells(i, 1).Interior.ColorIndex = i Next End Sub

4、在運(yùn)用以上VB命令操作EXCEL表時(shí),除非設(shè)置EXCEL對(duì)象不可見(jiàn),否則VB程序可繼續(xù)執(zhí)行其它操作,也能夠關(guān)閉EXCEL,同時(shí)也可對(duì)EXCEL進(jìn)行操作。但在EXCEL操作過(guò)程中關(guān)閉EXCEL對(duì)象時(shí),VB程序無(wú)法知道,如果此時(shí)使用EXCEL對(duì)象,則VB程序會(huì)產(chǎn)生自動(dòng)化錯(cuò)誤。形成VB程序無(wú)法完全控制EXCEL的狀況,使得VB與EXCEL脫節(jié)。

二、EXCEL的宏功能:

EXCEL提供一個(gè)Visual Basic編輯器,打開(kāi)Visual Basic編輯器,其中有一工程屬性窗口,點(diǎn)擊右鍵菜單的“插入模塊”,則增加一個(gè)“模塊1”,在此模塊中可以運(yùn)用Visual Basic語(yǔ)言編寫(xiě)函數(shù)和過(guò)程并稱之為宏。其中,EXCEL有兩個(gè)自動(dòng)宏:一個(gè)是啟動(dòng)宏(Sub Auto_Open()),另一個(gè)是關(guān)閉宏(Sub Auto_Close())。它們的特性是:當(dāng)用EXCEL打含有啟動(dòng)宏的工簿時(shí),就會(huì)自動(dòng)運(yùn)行啟動(dòng)宏,同理,當(dāng)關(guān)閉含有關(guān)閉宏的工作簿時(shí)就會(huì)自動(dòng)運(yùn)行關(guān)閉宏。但是通過(guò)VB的自動(dòng)化功能來(lái)調(diào)用EXCEL工作表時(shí),啟動(dòng)宏和關(guān)閉宏不會(huì)自動(dòng)運(yùn)行,而需要在VB中通過(guò)命令xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros(xlAutoClose)來(lái)運(yùn)行啟動(dòng)宏和關(guān)閉宏。

三、VB與EXCEL的相互勾通:

充分利用EXCEL的啟動(dòng)宏和關(guān)閉宏,可以實(shí)現(xiàn)VB與EXCEL的相互勾通,其方法如下:

在EXCEL的啟動(dòng)宏中加入一段程序,其功能是在磁盤(pán)中寫(xiě)入一個(gè)標(biāo)志文件,同時(shí)在關(guān)閉宏中加入一段刪除此標(biāo)志文件的程序。VB程序在執(zhí)行時(shí)通過(guò)判斷此標(biāo)志文件存在與否來(lái)判斷EXCEL是否打開(kāi),如果此標(biāo)志文

件存在,表明EXCEL對(duì)象正在運(yùn)行,應(yīng)該禁止其它程序的運(yùn)行。如果此標(biāo)志文件不存在,表明EXCEL對(duì)象已被用戶關(guān)閉,此時(shí)如果要使用EXCEL對(duì)象運(yùn)行,必須重新創(chuàng)建EXCEL對(duì)象。

四、舉例:

1、在VB中,建立一個(gè)FORM,在其上放置兩個(gè)命令按鈕,將Command1的Caption屬性改為EXCEL,Command2的Caption屬性改為End。然后在其中輸入如下程序:

Dim xlApp As Excel.Application '定義EXCEL類 Dim xlBook As Excel.Workbook '定義工件簿類 Dim xlsheet As Excel.Worksheet '定義工作表類 Private Sub Command1_Click()'打開(kāi)EXCEL過(guò)程

If Dir(“D:tempexcel.bz”)= “" Then '判斷EXCEL是否打開(kāi) Set xlApp = CreateObject(”Excel.Application“)'創(chuàng)建EXCEL應(yīng)用類 xlApp.Visible = True '設(shè)置EXCEL可見(jiàn)

Set xlBook = xlApp.Workbooks.Open(”D:tempbb.xls“)'打開(kāi)EXCEL工作簿 Set xlsheet = xlBook.Worksheets(1)'打開(kāi)EXCEL工作表 xlApp.Activate '激活工作表

xlApp.Cells(1, 1)= ”abc“ '給單元格1行駛列賦值 xlBook.RunAutoMacros(xlAutoOpen)'運(yùn)行EXCEL中的啟動(dòng)宏

Else MsgBox(”EXCEL已打開(kāi)“)End If End Sub Private Sub Command2_Click()If Dir(”D:tempexcel.bz“)<> ”“ Then '由VB關(guān)閉EXCEL xlBook.RunAutoMacros(xlAutoClose)'執(zhí)行EXCEL關(guān)閉宏 xlBook.Close(True)'關(guān)閉EXCEL工作簿

xlApp.Quit '關(guān)閉EXCEL End If Set xlApp = Nothing '釋放EXCEL對(duì)象

End End Sub

2、在D盤(pán)根目錄上建立一個(gè)名為T(mén)emp的子目錄,在Temp目錄下建立一個(gè)名為”bb.xls“的EXCEL文件。

3、在”bb.xls“中打開(kāi)Visual Basic編輯器,在工程窗口中點(diǎn)鼠標(biāo)鍵選擇插入模塊,在模塊中輸入入下程序存盤(pán):

Sub auto_open()Open ”d:tempexcel.bz“ For Output As #1 '寫(xiě)標(biāo)志文件

Close #1 End Sub Sub auto_close()Kill ”d:tempexcel.bz“ '刪除標(biāo)志文件 End Sub

4、運(yùn)行VB程序,點(diǎn)擊EXCEL按鈕可以打開(kāi)EXCEL系統(tǒng),打開(kāi)EXCEL系統(tǒng)后,VB程序和EXCEL分別屬兩個(gè)不同的應(yīng)用系統(tǒng),均可同時(shí)進(jìn)行操作,由于系統(tǒng)加了判斷,因此在VB程序中重復(fù)點(diǎn)擊EXCEL按鈕時(shí)會(huì)提示EXCEL已打開(kāi)。如果在EXCEL中關(guān)閉EXCEL后再點(diǎn)EXCEL按鈕,則會(huì)重新打開(kāi)EXCEL。而無(wú)論EXCEL打開(kāi)與否,通過(guò)VB程序均可關(guān)閉EXCEL。這樣就實(shí)現(xiàn)了VB與EXCEL的無(wú)縫連接。

范例一

Option Explicit Private Sub Command1_Click()Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlChar As New Excel.Chart Dim xlSheet As New Excel.Worksheet '建立需要的對(duì)象

Set xlApp = New Excel.Application Set xlApp = CreateObject(”Excel.Application“)Set xlBook = xlApp.Workbooks.Open(”F:BOOK1.xls“)Set xlSheet = xlBook.Worksheets(1)'建立Chart 對(duì)象

Set xlChar = xlApp.Charts.Add()xlChar.ChartType = xlLineMarkers Call xlChar.SetSourceData(xlSheet.Range(”A1:E7“), xlColumns)'原數(shù)據(jù) ActiveChart.Location Where:=xlLocationAsObject, Name:=”Sheet1“ ActiveChart.HasLegend = True ActiveChart.Legend.Select Selection.Position = xlRight '選中建立的ChartObjects對(duì)象

ActiveSheet.ChartObjects(”圖表 1“).Activate ActiveChart.PlotArea.Select ActiveChart.Legend.Select '刪除 退出(&X)菜單

Dim i As Integer For i = 1 To xlApp.CommandBars(”File“).Controls.Count Debug.Print xlApp.CommandBars(”File“).Controls(i).Caption If Left$(xlApp.CommandBars(”File“).Controls(i).Caption, 2)= ”關(guān)閉“ Then xlApp.CommandBars(”File“).Controls(i).Visible = False 'Delete Exit For End If Next '顯示EXCEL xlApp.Visible = True End Sub 范例二 RichTextBox1 Dim xlApp As Excel.Application Set xlApp = New Excel.Application----然后,可以用這些變量來(lái)訪問(wèn)在EXCEL應(yīng)用程序中的從屬對(duì)象、以及這些對(duì)象的屬性和方法。例如:

Set xlApp = CreateObject(”Excel.Application“)‘激活EXCEL應(yīng)用程序

xlApp.Visible = False ‘隱藏EXCEL應(yīng)用程序窗口 Set xlBook = xlApp.Workbooks.Open(strDestination)‘打開(kāi)工作簿,strDestination為一個(gè)EXCEL報(bào)表文件 Set xlSheet = xlBook.Worksheets(1)‘設(shè)定工作表

VB借助EXCEL實(shí)現(xiàn)表格設(shè)計(jì)

1、定義EXCEL對(duì)象變量 dim x as excel.application

2、VB中,啟動(dòng)EXCEL set x=createobject(”excel.application“)

3、新建一個(gè)EXCEL工作簿 x.workbooks.add

4、選定工作表1 set xsheet=xbook.worksheets(1)

5、指定單元格,并賦值

xsheet.cell(1,1)=ret.fields(0)

6、指定EXCEL列寬

xsheet.column(1).columnwidth=10

7、RANGE()函數(shù),選定單元格區(qū)域 range(cells(1,1),cells(10,20))

8、設(shè)置EXCEL字體

xsheet.range(cells(1,1),cells(10,20)).font.name=”黑體“

9、設(shè)置EXCEL為粗體

xsheet.range(cells(1,1),cells(10,20)).fontbold=true

10、設(shè)置EXCEL表格邊框

xsheet.range(cells(1,1),cells(10,20)).borders.linestyle=xlcontinuous

11、運(yùn)行時(shí),顯示EXCEL或隱藏EXCEL x.visible=true

12、保存工作簿 xbook save

13、退出EXCEL x.quit

14、交還控制權(quán)給EXCEL set x=nothing

15、打印EXCEL表

x.active.window.selectedsheets.printout copies=numcopies

16、退出EXCEL時(shí),不出現(xiàn)保存提示。x.displayalerts=false

17、怎樣運(yùn)用EXCEL公式?

x.range(”A3“).formula= ”=max(A1,A2)“

18、EXCEL代碼獲取技巧

打開(kāi)EXCEL中的工具----宏----錄制新宏,然后進(jìn)行手工操作,結(jié)束后把所錄的宏代碼貼進(jìn)你的VB程序就行。

19、合并單元格代碼

x.range(”A2:A5“).inergecells=true 20、自動(dòng)調(diào)整列寬代碼

x.column(”A:I“).autofit ' a到 I列自動(dòng)調(diào)整列寬

21、文本自動(dòng)換行代碼 x.rows(3).wraptext=true

22、設(shè)置字體顏色

x.rows(1).font.colorindex=4

23、打印預(yù)覽代碼

x.worksheets.printpreview

24、打開(kāi)EXCEL文件

x.workbooks.open filename:=”c:my documentsmy vb lgx dy.xls“

========================================== 如何用VB控制EXCEL生成報(bào)表

做為一種簡(jiǎn)捷、系統(tǒng)的 Windows應(yīng)用程序開(kāi)發(fā)工具,Visual Basic 6 具有強(qiáng)大的數(shù)據(jù)處理功能,提供了多種數(shù)據(jù)訪問(wèn)方法,可以方便地存取Microsoft SQL Server、Oracle、XBase等多種數(shù)據(jù)庫(kù),被廣泛應(yīng)用于建立各種信息管理系統(tǒng)。但是,VB缺乏足夠的、符合中文習(xí)慣的數(shù)據(jù)表格輸出功能,雖然使用Crystal Report控件及 Crystal Reports程序可以輸出報(bào)表,但操作起來(lái)很麻煩,中文處理能力也不理想。Excel作為Micorsoft公司的表格處理軟件在表格方面有著強(qiáng)大的功能,我們可用VB5編寫(xiě)直接控制Excel操作的程序,方法是用VB的OLE自動(dòng)化技術(shù)獲取Excel 2000 的控制句柄,從而直接控制Excel 2000的一系列操作。

下面給出一個(gè)實(shí)例:

首先建立一個(gè)窗體(FORM1)在窗體中加入一個(gè)DATA控件和一按鈕,引用Microsoft Excel類型庫(kù): 從”工程“菜單中選擇”引用“欄;選擇Microsoft Excel 9.0 Object Library;選擇”確定“。然后在FORM的LOAD事件中加入:

Private Sub Form_Load()'數(shù)據(jù)庫(kù)及表可以另選,本文以Nwind.mdb為例

Data1.DatabaseName = ”C:Program FilesMicrosoft Visual StudioVB98Nwind.mdb“ Data1.RecordSource = ”Customers“ Data1.Refresh End Sub 在按鈕的CLICK事件中加入 Private Sub Command1_Click()Dim Irow, Icol As Integer Dim Irowcount, Icolcount As Integer Dim Fieldlen()'存字段長(zhǎng)度值 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject(”Excel.Application“)Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1)With Data1.Recordset.MoveLast If.RecordCount < 1 Then MsgBox(”Error 沒(méi)有記錄!“)Exit Sub End If Irowcount =.RecordCount '記錄總數(shù) Icolcount =.Fields.Count '字段總數(shù) ReDim Fieldlen(Icolcount).MoveFirst For Irow = 1 To Irowcount + 1 For Icol = 1 To Icolcount Select Case Irow Case 1 '在Excel中的第一行加標(biāo)題

xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1))= True Then Fieldlen(Icol)= LenB(.Fields(Icol1))End If

xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)'Excel列寬等于字段長(zhǎng)

xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1))If Fieldlen(Icol)< Fieldlen1 Then xlSheet.Columns(Icol).ColumnWidth = Fieldlen1 '表格列寬等于較長(zhǎng)字段長(zhǎng) Fieldlen(Icol)= Fieldlen1 '數(shù)組Fieldlen(Icol)中存放最大字段長(zhǎng)度值 Else xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)End If xlSheet.Cells(Irow, Icol).Value =.Fields(Icol1)).Font.Name = ”黑體“ '設(shè)標(biāo)題為黑體字

.Range(.Cells(1, 1),.Cells(1, Icol1)).Borders.LineStyle = xlContinuous '設(shè)表格邊框樣式 End With xlApp.Visible = True '顯示表格 xlBook.Save '保存

Set xlApp = Nothing '交還控制給Excel End With End Sub 本程序在中文Windows98、中文VB6下通過(guò)。

===== VB5.0調(diào)用Office97技巧

Visual Basic 5.0具有簡(jiǎn)單、易學(xué)等特點(diǎn),深受初學(xué)者的歡迎,但也有一些不如人意的地方。例如,不能像Word 97那樣進(jìn)行拼寫(xiě)檢查,不能像Excel 97那樣具有很多的函數(shù)。如果我們能將Word 97和Exce l97的功能使用在Visual Basic 5.0中,就可以使VB達(dá)到錦上添花的目的。

我們知道所有Office 97 應(yīng)用程序都提供了ActiveX對(duì)象,我們可以在Visual Basic 5.0中使用它們調(diào)用Word 97 要想在VB中調(diào)用Word 97,首先要打開(kāi)VB的”工程“菜單中的”引用“項(xiàng)目,并在該項(xiàng)目對(duì)話框中選定”Microsoft Word 8.0 Object Library“就可以了。

下面我們舉例說(shuō)明調(diào)用Word 97中的”拼寫(xiě)檢查“和”單詞統(tǒng)計(jì)“功能。首先新建一個(gè)工程并在窗體上放置一個(gè)TextBox控件和兩個(gè)CommandButton控件,然后添入如下的代碼:

Option Explicit Dim Doc As New Document Dim Visi As Boolean ′拼寫(xiě)檢查

Private Sub Command1-Click()Form1.Caption = ”拼寫(xiě)檢查“ Doc.Range.Text = Text1 ′確定范圍

Doc.Application.Visible = True ′將Word 97變?yōu)榭梢?jiàn) AppActivate Doc.Application.Caption ′激活Word 97 Doc.Range.CheckSpelling ′拼寫(xiě)檢查

Text1 = Doc.Range.Text

Text1 = Left(Text1, Len(Text1)- 1)AppActivate Caption End Sub ′統(tǒng)計(jì)單詞數(shù)

Private Sub Command2-Click()Dim Dlg As Word.Dialog Doc.Range = Text1.Text Set Dlg = Doc.Application.Dialogs(wdDialogDocumentStatistics)Dlg.Execute ′統(tǒng)計(jì)單詞和字符

Form1.Caption =”單詞數(shù):“ & Str(Dlg.Words)& ”詞“ & Str(Dlg.Characters)& ”字符“ ′顯示統(tǒng)計(jì)結(jié)果 End Sub Top 范例三

Private Sub Form-Load()Form1.Caption =”調(diào)用Word 97“ Text1.Text = ”“ Command1.Caption = ”拼寫(xiě)檢查“ Command2.Caption = ”統(tǒng)計(jì)單詞“ ′使應(yīng)用程序可見(jiàn)

Visi = Doc.Application.Visible End Sub ′關(guān)閉應(yīng)用程序

Private Sub Form-Unload(Cancel As Integer)

If Visi Then ′關(guān)閉文件 Doc.Close savechanges:=False Else Doc.Application.Quit savechanges:=False ′關(guān)閉 Word 97 End If End Sub 調(diào)用Excel 97 使用Excel Sheet對(duì)象的技術(shù)可以處理可變數(shù)量的數(shù)據(jù),并將結(jié)果最后送到你的Visual Basic 應(yīng)用程序中。例子如下:

新建一個(gè)工程并在新建的窗體上放置兩個(gè)TextBox控件和一個(gè)CommandButton控件及六個(gè)Label控件。建設(shè)中的窗體如圖2所示。

程序代碼如下: Option Explicit Private Sub Command1-Click()Dim xObject As Object ′調(diào)用Excel 97 Set xObject = CreateObject(”Excel.Sheet“)Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet xObject.Range(”A1“).Value = Text1.Text ′將數(shù)值送入Excel 97的A1單元格 xObject.Range(”A2“).Value = Text2.Text ′將數(shù)值送入Excel 97的A2單元格 xObject.Range(”A3“).Formula = ”=MAX(A1,A2)“ ′將最大值送入A3單元格

xObject.Range(”A4“).Formula = ”=ATAN(A1/A2)*180/PI()“ ′將反正切值送入A4單元格

′顯示計(jì)算的結(jié)果

Label1.Caption = xObject.Range(”A3“).Value Label2.Caption = xObject.Range(”A4“).Value

Set xObject = Nothing End Sub Private Sub Form_Load()Text1.Text = ”“ Text2.Text = ”“ Label1.Caption = ”“ Label2.Caption = ”“ End Sub 該程序的作用是:首先在兩個(gè)文本框(Text1和Text2)輸入數(shù)值并分別將輸入的數(shù)值送入Excel 97的”A1“和”A2“單元格中,然后用Excel 97中的”Max()“函數(shù)將計(jì)算的結(jié)果送入”A3“ 單元格中;用反正切函數(shù)”ATAN()“進(jìn)行計(jì)算并將結(jié)果送入”A4“ 單元格中,最后輸出。

===== 淺談Excel 的VB編程

Excel是一個(gè)優(yōu)秀的電子表格軟件,如果你編的程序需要以報(bào)表的形式顯示最終結(jié)果,它會(huì)是個(gè)不錯(cuò)的選擇。你可以通過(guò)VB控制Excel顯示數(shù)據(jù)表格。如果你不愿意深入了解Excel這些瑣碎的細(xì)節(jié),也不是沒(méi)有權(quán)宜之計(jì):你可以打開(kāi)Excel中的工具→宏→錄制新宏,然后進(jìn)行手工操作,結(jié)束后把所錄的宏代碼貼進(jìn)你的VB程序就行。這樣得到的程序一般都能正常運(yùn)行,但其中的宏代碼往往不夠簡(jiǎn)潔,效率和可讀性都不高。

----Excel編程碰到的第一個(gè)問(wèn)題是表頭。有時(shí)表頭的形式比較復(fù)雜,需要橫向或縱向合并單元格。請(qǐng)放心,只要沒(méi)有斜杠,Excel都能應(yīng)付得了。

----例如合并A2~A5這4個(gè)單元格,你錄制的宏代碼會(huì)是這樣: Range(”A2:A5“).Select With Selection.HorizontalAlignment = xlCenter.VerticalAlignment = xlBottom.WrapText = False.Orientation = 0.AddIndent = False.ShrinkToFit = False.MergeCells = False End With Selection.Merge----而自己編程只要一句 Range.(”A2:A5“).mergecells=True 就可以解決問(wèn)題。

----表頭形式定了,再就是表頭的內(nèi)容。如果單元格中的文本長(zhǎng)度超過(guò)了列寬,往往只能顯示部分內(nèi)容,行尾那一格的內(nèi)容則會(huì)”越境“進(jìn)入右邊那個(gè)空白單元格,很不美觀。這個(gè)問(wèn)題可以通過(guò)在程序中設(shè)置列寬加以解決。

----Columns(14).columnwidth=12 '設(shè)置第14列列寬為12(缺省列寬為8.38)----如果你不愿意勞神去逐列估計(jì)實(shí)際所需的列寬,干脆來(lái)一行----Columns(”a:i“).autofit 'a到i列自動(dòng)調(diào)整列寬----讓Excel隨機(jī)應(yīng)變吧。

----但也許你不喜歡這種方法,認(rèn)為表頭撐大了列寬,弄得瀏覽一張小表格還得向右滾動(dòng),太不方便了。要是能保持默認(rèn)列寬,讓文本自動(dòng)換行就好了。沒(méi)問(wèn)題,Excel包你滿意。

----Rows(3).WrapText=True '讓第三行各單元格中的文本自動(dòng)換行

----不過(guò)你最好再加一句 Rows(3).VerticalAlignment = xlTop 讓表頭自動(dòng)向上對(duì)齊,這樣比較符合習(xí)慣。

----你還可以給表頭打上底色,讓你的讀者不至于看了打哈欠。----Rows(2).Interior.ColorIndex = 5 '設(shè)置第2行底色為藍(lán)色----再給表格的標(biāo)題上色,這樣更醒目一點(diǎn)。----Rows(1).Font.ColorIndex=4----表頭完成后該填數(shù)據(jù)了,一個(gè)一個(gè)地填實(shí)在是太慢了,如果你的數(shù)據(jù)是存放在一個(gè)二維數(shù)組中,那問(wèn)題就簡(jiǎn)單多了。

Dim Data(3,4)???? '數(shù)據(jù)處理 Range(”a2:d4“).Value=Data----這樣可以一次填入一個(gè)表的所有數(shù)據(jù),夠快了吧!不過(guò)提醒一句,Range對(duì)象大小最好與數(shù)組匹配,小了無(wú)法顯示所有數(shù)據(jù),大了則會(huì)在空白單元格只填入”N/A“表示沒(méi)有取得數(shù)據(jù)。

----如果需要在結(jié)果中顯示多個(gè)同樣規(guī)格的數(shù)據(jù)表,想在Range對(duì)象中加入循環(huán)變量,這也好辦。Dim cell11,cell2 Dim Data(3,4)???? For I =1 to 40

???? '數(shù)據(jù)處理

Set cell1=Worksheets(”Sheet1“).Cells(5*I-4,1)Set cell2=Worksheets(”Sheet1“).Cells(5*I-2,4)Worksheets(”Sheet1“).Range(cell1,cell2).value=Data Next I----表格填完了,現(xiàn)在該打表格線了,以下幾條語(yǔ)句可以滿足你的要求: With Worksheets(”Sheet1“).Range(cell1,cell2).borders.LineStyle=xlContinuous.weight=xlThin End With----好了,關(guān)于Excel的VB編程今天就講到這兒吧。

===== 如何將Excel的文件導(dǎo)入Access文件?

下面我已程序代碼做成模塊,只要導(dǎo)入必要之參數(shù)即可!此一模塊共有四個(gè)參數(shù):

1、sSheetName:要導(dǎo)出資料的文件名稱(Sheet name),例如 Sheet1

2、sExcelPath:要導(dǎo)出資料的 Excel 檔案路徑名稱(Workbook path),例如 C:book1.xls

3、sAccessTable:要導(dǎo)入的 Access Table 名稱,例如 TestTable

4、sAccessDBPath:要導(dǎo)入的 Access 檔案路徑名稱,例如 C:Test.mdb 在聲明中加入以下:

Private Sub ExportExcelSheetToAccess(sSheetName As String, sExcelPath As String, sAccessTable As String, sAccessDBPath As String)Dim db As Database Dim rs As Recordset Set db = OpenDatabase(sExcelPath, True, False, ”Excel 5.0“)Call db.Execute(”Select * into [;database=“ & sAccessDBPath & ”].“ & sAccessTable & ” FROM [“ & sSheetName & ”$]“)MsgBox ”Table exported successfully.“, vbInformation, ”Yams“ End Sub 使用范例如下:將 C:book1.xls 中的 Sheet1 導(dǎo)入 C:Test.mdb 成為 TestTable ExportExcelSheetToAccess ”Sheet1“, ”C:book1.xls“, ”TestTable“, ”C:Test.mdb“ ===== Dim adoConnection As New ADODB.Connection Dim adoRecordset As New ADODB.Recordset 'OLE DB + ODBC Driver 方式: 'adoConnection.Open ”Data Provider=MSDASQL.1;driver=Microsoft

Excel Driver

(*.xls);DBQ=e:tempbook2.xls“ 'Microsoft.Jet.OLEDB.4.0 方式,(建議)adoConnection.Open ”P(pán)rovider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=e:tempbook2.xls;Extended Properties='Excel 8.0;HDR=Yes'“ adoRecordset.Open ”select * from [sheet1$]“, adoConnection, adOpenKeyset, adLockOptimistic '注: OLE DB + ODBC Driver 方式不支持以下語(yǔ)句,但 Microsoft.Jet.OLEDB.4.0 方式支持!adoConnection.Execute ”insert into [sheet1$](F1)values(3)“ adoRecordset.AddNew Array(”f1“, ”f2“, ”f3“, ”f4“), Array(1, 2, 3, 4)21

VB操作excel 全面控制Excel 首先創(chuàng)建Excel對(duì)象,使用ComObj: DimExcelIDasExcel.Application SetExcelIDasnewExcel.Application 1)顯示當(dāng)前窗口: ExcelID.Visible:=True;2)更改Excel標(biāo)題欄:

ExcelID.Caption:='應(yīng)用程序調(diào)用MicrosoftExcel';3)添加新工作簿: ExcelID.WorkBooks.Add;4)打開(kāi)已存在的工作簿:

ExcelID.WorkBooks.Open('C:ExcelDemo.xls');5)設(shè)置第2個(gè)工作表為活動(dòng)工作表: ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)給單元格賦值:

ExcelID.Cells[1,4].Value:='第一行第四列';7)設(shè)置指定列的寬度(單位:字符個(gè)數(shù)),以第一列為例: ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;8)設(shè)置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例: ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 9)在第8行之前插入分頁(yè)符:

ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;參考代碼:ActiveSheet.HPageBreaks(1).Location=Range(”A22“)

10)在第8列之前刪除分頁(yè)符:

ExcelID.ActiveSheet.Columns[4].PageBreak:=0;11)指定邊框線寬度:

ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;1-左 2-右3-頂 4-底5-斜()6-斜(/)12)清除第一行第四列單元格公式:

ExcelID.ActiveSheet.Cells[1,4].ClearContents;13)設(shè)置第一行字體屬性:

ExcelID.ActiveSheet.Rows[1].Font.Name:='隸書(shū)';ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;ExcelID.ActiveSheet.Rows[1].Font.Bold:=True;ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;14)進(jìn)行頁(yè)面設(shè)置: a.頁(yè)眉:

ExcelID.ActiveSheet.PageSetup.CenterHeader:='報(bào)表演示';b.頁(yè)腳:

ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P頁(yè)';c.頁(yè)眉到頂端邊距2cm:

ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;d.頁(yè)腳到底端邊距3cm:

ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;e.頂邊距2cm:

ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;f.底邊距2cm:

ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;

g.左邊距2cm:

ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;h.右邊距2cm:

ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;i.頁(yè)面水平居中:

ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;j.頁(yè)面垂直居中:

ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;k.打印單元格網(wǎng)線:

ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;15)拷貝操作: a.拷貝整個(gè)工作表:

ExcelID.ActiveSheet.Used.Range.Copy;b.拷貝指定區(qū)域:

ExcelID.ActiveSheet.Range['A1:E2'].Copy;c.從A1位置開(kāi)始粘貼:

ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;d.從文件尾部開(kāi)始粘貼:

ExcelID.ActiveSheet.Range.PasteSpecial;16)插入一行或一列:

a.ExcelID.ActiveSheet.Rows[2].insert;b.ExcelID.ActiveSheet.Columns[1].insert;17)刪除一行或一列:

a.ExcelID.ActiveSheet.Rows[2].delete;b.ExcelID.ActiveSheet.Columns[1].delete;

18)打印預(yù)覽工作表:

ExcelID.ActiveSheet.PrintPreview;19)打印輸出工作表:

ExcelID.ActiveSheet.PrintOut;20)工作表保存:

IfnotExcelID.ActiveWorkBook.Savedthen ExcelID.ActiveSheet.PrintPreview Endif 21)工作表另存為:

ExcelID.SaveAs('C:ExcelDemo1.xls');22)放棄存盤(pán):

ExcelID.ActiveWorkBook.Saved:=True;23)關(guān)閉工作簿: ExcelID.WorkBooks.Close;24)退出Excel: ExcelID.Quit;25)設(shè)置工作表密碼: ExcelID.ActiveSheet.Protect”123“,DrawingObjects:=True,Contents:=True,Scenarios:=True 26)EXCEL的顯示方式為最大化

ExcelID.Application.WindowState=xlMaximized 27)工作薄顯示方式為最大化

ExcelID.ActiveWindow.WindowState=xlMaximized 28)設(shè)置打開(kāi)默認(rèn)工作薄數(shù)量 ExcelID.SheetsInNewWorkbook=3 29)'關(guān)閉時(shí)是否提示保存(true保存;false不保存)

ExcelID.DisplayAlerts=False 30)設(shè)置拆分窗口,及固定行位置 ExcelID.ActiveWindow.SplitRow=1 ExcelID.ActiveWindow.FreezePanes=True 31)設(shè)置打印時(shí)固定打印內(nèi)容

ExcelID.ActiveSheet.PageSetup.PrintTitleRows=”$1:$1“ 32)設(shè)置打印標(biāo)題

ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=”“ 33)設(shè)置顯示方式(分頁(yè)方式顯示)ExcelID.ActiveWindow.View=xlPageBreakPreview 34)設(shè)置顯示比例

ExcelID.ActiveWindow.Zoom=100 35)讓Excel響應(yīng)DDE請(qǐng)求

Ex.Application.IgnoreRemoteRequests=False 26

用VB操作EXCEL PrivateSubCommand3_Click()OnErrorGoToerr1 DimiAsLong DimjAsLong DimobjExlAsExcel.Application'聲明對(duì)象變量 Me.MousePointer=11'改變鼠標(biāo)樣式

SetobjExl=NewExcel.Application'初始化對(duì)象變量

objExl.SheetsInNewWorkbook=1 '將新建的工作薄數(shù)量設(shè)為1 objExl.Workbooks.Add '增加一個(gè)工作薄

objExl.Sheets(objExl.Sheets.Count).Name=”book1“ '修改工作薄名稱

objExl.Sheets.Add,objExl.Sheets(”book1“)‘增加第二個(gè)工作薄在第一個(gè)之后 objExl.Sheets(objExl.Sheets.Count).Name=”book2“ objExl.Sheets.Add,objExl.Sheets(”book2“)‘增加第三個(gè)工作薄在第二個(gè)之后 objExl.Sheets(objExl.Sheets.Count).Name=”book3“

objExl.Sheets(”book1“).select'選中工作薄 Fori=1To50 '循環(huán)寫(xiě)入數(shù)據(jù) Forj=1To5 If i= 1Then objExl.selection.NumberFormatLocal=”@“ '設(shè)置格式為文本 objExl.Cells(i,j)=” E “ & i & j Else objExl.Cells(i,j)=i&j EndIf

Next Next

objExl.Rows(”1:1“).select'選中第一行 objExl.selection.Font.Bold=True'設(shè)為粗體 objExl.selection.Font.Size=24'設(shè)置字體大小 objExl.Cells.EntireColumn.AutoFit '自動(dòng)調(diào)整列寬 objExl.ActiveWindow.SplitRow=1 '拆分第一行 objExl.ActiveWindow.SplitColumn=0 '拆分列 objExl.ActiveWindow.FreezePanes=True'固定拆分

objExl.ActiveSheet.PageSetup.PrintTitleRows=”$1:$1“ '設(shè)置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns=”“ '打印標(biāo)題 objExl.ActiveSheet.PageSetup.RightFooter=”打印時(shí)間:“&_ Format(Now,”yyyy年mm月dd日hh:MM:ss“)objExl.ActiveWindow.View=xlPageBreakPreview '設(shè)置顯示方式 objExl.ActiveWindow.Zoom=100 '設(shè)置顯示大小

objExl.ActiveSheet.PageSetup.Orientation=xlLandscape ‘設(shè)置打印方向(橫向)'給工作表加密碼

objExl.ActiveSheet.Protect”123“,DrawingObjects:=True, _ Contents:=True,Scenarios:=True objExl.Application.IgnoreRemoteRequests=False objExl.Visible=True'使EXCEL可見(jiàn)

objExl.Application.WindowState=xlMaximized'EXCEL的顯示方式為最大化 objExl.ActiveWindow.WindowState=xlMaximized'工作薄顯示方式為最大化 objExl.SheetsInNewWorkbook=3 '將默認(rèn)新工作薄數(shù)量改回3個(gè)

SetobjExl=Nothing '清除對(duì)象 Me.MousePointer=0'修改鼠標(biāo) ExitSub err1: objExl.SheetsInNewWorkbook=3 objExl.DisplayAlerts=False '關(guān)閉時(shí)不提示保存 objExl.Quit'關(guān)閉EXCEL objExl.DisplayAlerts=True'關(guān)閉時(shí)提示保存 SetobjExl=Nothing Me.MousePointer=0 EndSub 數(shù)據(jù)庫(kù)管理系統(tǒng)的開(kāi)發(fā)人員經(jīng)常被編制復(fù)雜的報(bào)表所困擾,VB的水晶報(bào)表可以設(shè)計(jì)簡(jiǎn)單的報(bào)表,但是設(shè)計(jì)出的報(bào)表缺乏靈活性。我利用VB操作EXCEL2000來(lái)生成復(fù)雜的報(bào)表。

用VB創(chuàng)建外部EXCEL對(duì)象

Microsoft Office應(yīng)用程序提供了一個(gè)頂層Application 對(duì)象。下面語(yǔ)句顯示了對(duì)Microsoft Excel的Application 對(duì)象的引用,用這些變量來(lái)訪問(wèn)在EXCEL應(yīng)用程序中的從屬對(duì)象、以及這些對(duì)象的屬性和方法。:

Dim xlApp As Excel.Application Set xlApp = New Excel.Application Set xlApp = CreateObject(”Excel.Application“)xlApp.Visible = False Set xlBook = xlApp.Workbooks.Open(strDestination)Set xlSheet = xlBook.Worksheets(1)29

用EXCEL 2000設(shè)計(jì)報(bào)表的模版文件

EXCEL 2000是一個(gè)非常優(yōu)秀的創(chuàng)建報(bào)表的工具。它提供的單元格任意合并、拆分功能基本上能夠滿足設(shè)計(jì)復(fù)雜報(bào)表的要求。它對(duì)任意一個(gè)單元格的格式隨意控制,因此它為設(shè)計(jì)復(fù)雜報(bào)表提供了強(qiáng)大的支持。

根據(jù)用戶提供的報(bào)表,我們可以很快在EXCEL里生成模版文件。模版文件只是為了滿足用戶多方面的需求而設(shè)計(jì)的。并且隨著時(shí)間和實(shí)際情況的變化,表格格式有可能需要改變,我們?cè)O(shè)計(jì)一個(gè)模版文件可以“以不變應(yīng)萬(wàn)變”了。在程序里我們不要對(duì)模版文件進(jìn)行操作,我們只需要對(duì)模版文件的一個(gè)拷貝進(jìn)行操作就行。程序代碼如下:

Dim strSource, strDestination As String strSource = App.Path & ”Excelsdangan.xls“ strDestination = App.Path & ”ExcelsTemp.xls“ FileCopy strSource, strDestination Set mobjExcel = New Excel.Application Set mobjExcel = CreateObject(”Excel.Application“)mobjExcel.Visible = False Set mobjworkbook = mobjExcel.Workbooks.Open(strDestination)Set xlsheet = mobjworkbook.Worksheets(1)If Not opendatasource()Then MsgBox ”不能打開(kāi)數(shù)據(jù)源!“, , ”提示“ Unload Me Exit Sub End If Private Function opendatasource()ssql=”select shgt_dah,shgt_yth,shgt_ajtm,shgt_chtrq, shgt_shjdw,shgt_wzysh,shgt_tzzhsh,shgt_gdrq,shgt_bz from shgtajb“ OpenResultset ssql, mrdors

opendatasource = True Exit Function End Function 生成工作表內(nèi)容

有了上述兩步工作的鋪墊,我們只要根據(jù)模板的格式給各單元格賦值如:

Do while Not mrdors.Eof i=4 For j=0 to mrdors.rdocolumns.count-2 MobjExcel.Activesheet.cells(i,j+1)。value=mrdors.rdocolumns(j)。Value Next Mrdors.movenext Loop 打印報(bào)表

生成了工作表后,就可以對(duì)EXCEL發(fā)出打印指令了。在執(zhí)行打印操作之前應(yīng)該對(duì)EXCEL臨時(shí)文件執(zhí)行一次保存操作,以免在退出應(yīng)用程序后EXCEL還提示用戶是否保存已修改的文件。如下語(yǔ)句:

xlBook.Save xlSheet.PrintOut xlApp.Quit Private Sub Command3_Click()On Error GoTo err1 Dim i As Long Dim j As Long Dim objExl As Excel.Application'聲明對(duì)象變量 Me.MousePointer = 11'改變鼠標(biāo)樣式

Set objExl = New Excel.Application'初始化對(duì)象變量 objExl.SheetsInNewWorkbook = 1 '將新建的工作薄數(shù)量設(shè)為1 objExl.Workbooks.Add '增加一個(gè)工作薄

objExl.Sheets(objExl.Sheets.Count).Name = ”book1“ '修改工作薄名稱 objExl.Sheets.Add , objExl.Sheets(”book1“)'增加第二個(gè)工作薄在第一個(gè)之后 objExl.Sheets(objExl.Sheets.Count).Name = ”book2“ objExl.Sheets.Add , objExl.Sheets(”book2“)'增加第三個(gè)工作薄在第二個(gè)之后 objExl.Sheets(objExl.Sheets.Count).Name = ”book3“

objExl.Sheets(”book1“).Select '選中工作薄 For i = 1 To 50'循環(huán)寫(xiě)入數(shù)據(jù) For j = 1 To 5 If i = 1 Then objExl.Selection.NumberFormatLocal = ”@“ '設(shè)置格式為文本 objExl.Cells(i, j)= ” E “ & i & j Else objExl.Cells(i, j)= i & j End If Next Next objExl.Rows(”1:1“).Select '選中第一行 objExl.Selection.Font.Bold = True'設(shè)為粗體 objExl.Selection.Font.Size = 24 '設(shè)置字體大小 objExl.Cells.EntireColumn.AutoFit '自動(dòng)調(diào)整列寬 objExl.ActiveWindow.SplitRow = 1 '拆分第一行 objExl.ActiveWindow.SplitColumn = 0'拆分列 objExl.ActiveWindow.FreezePanes = True'固定拆分

objExl.ActiveSheet.PageSetup.PrintTitleRows = ”$1:$1“ '設(shè)置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns = ”“'打印標(biāo)題 objExl.ActiveSheet.PageSetup.RightFooter = ”打印時(shí)間: “ & _ Format(Now, ”yyyy年mm月dd日 hh:MM:ss“)objExl.ActiveWindow.View = xlPageBreakPreview'設(shè)置顯示方式 objExl.ActiveWindow.Zoom = 100 '設(shè)置顯示大小 '給工作表加密碼

objExl.ActiveSheet.Protect ”123“, DrawingObjects:=True, _ Contents:=True, Scenarios:=True objExl.Application.IgnoreRemoteRequests = False objExl.Visible = True '使EXCEL可見(jiàn)

objExl.Application.WindowState = xlMaximized'EXCEL的顯示方式為最大化 objExl.ActiveWindow.WindowState = xlMaximized'工作薄顯示方式為最大化 objExl.SheetsInNewWorkbook = 3'將默認(rèn)新工作薄數(shù)量改回3個(gè) Set objExl = Nothing'清除對(duì)象 Me.MousePointer = 0'修改鼠標(biāo) Exit Sub err1: objExl.SheetsInNewWorkbook = 3 objExl.DisplayAlerts = False '關(guān)閉時(shí)不提示保存 objExl.Quit'關(guān)閉EXCEL objExl.DisplayAlerts = True'關(guān)閉時(shí)提示保存 Set objExl = Nothing Me.MousePointer = 0 End Sub =====================================

Visual Basic簡(jiǎn)稱(VB)是設(shè)計(jì)Windows應(yīng)用程序強(qiáng)有力的開(kāi)發(fā)工具,“全球絕大多數(shù)Windows應(yīng)用程序都是用VB開(kāi)發(fā)的”; Excel是目前使用最廣泛的辦公應(yīng)用軟件之一,它具有強(qiáng)大的數(shù)學(xué)分析與計(jì)算功能,包括很多VB沒(méi)有的求值數(shù)學(xué)表達(dá)式的函數(shù)和方法。由于Excel的應(yīng)用程序?qū)ο笫峭獠靠蓜?chuàng)建的對(duì)象,所以能從VB應(yīng)用程序內(nèi)部來(lái)程序化操縱Excel。本文結(jié)合自己的實(shí)踐和體會(huì),談?wù)勅绾卧赩B6.0應(yīng)用程序中調(diào)用Exce12000,供大家參考。

一、Excel對(duì)象模型

為了在VB應(yīng)用程序中調(diào)用Excel,必須要了解Excel對(duì)象模型。Excel對(duì)象模型描述了Excel的理論結(jié)構(gòu),所提供的對(duì)象很多,其中最重要的對(duì)象,即涉及VB調(diào)用Excel最可能用到的對(duì)象有:

二、調(diào)用Excel 在VB應(yīng)用程序中調(diào)用Excel,實(shí)質(zhì)是將Excel作為一個(gè)外部對(duì)象來(lái)引用,由Excel對(duì)象模型提供能從VB應(yīng)用程序內(nèi)部來(lái)程序化操縱的對(duì)象以及相關(guān)的屬性、方法和事件。

1、在VB工程中添加對(duì)Excel類型庫(kù)的引用

為了能從VB應(yīng)用程序中訪問(wèn)Excel豐富的內(nèi)部資源,使Excel應(yīng)用程序運(yùn)行得更快,需要在VB工程中添加對(duì)Excel類型庫(kù)的引用。具體步驟如下:

a)從VB5“工程”菜單中選擇“引用”;

b)在“引用”對(duì)話框中選擇Excel類型庫(kù):”Microsoft Excel9.0 Object Library“; c)單擊左邊小方框,使之出現(xiàn)“√”符號(hào); d)按“確定”退出。

注:要想在VB應(yīng)用程序中調(diào)用Excel,你的計(jì)算機(jī)系統(tǒng)中必須安裝Excel。

2、引用Application對(duì)象

Application對(duì)象是Excel對(duì)象模型的頂層,表示整個(gè)Excel應(yīng)用程序。在VB應(yīng)用程序中調(diào)用Excel,就是使用Application對(duì)象的屬性、方法和事件。為此,首先要聲明對(duì)象變量:

Dim VBExcel As Object 或直接聲明為Excel對(duì)象:

Dim VBExcel As Excel.Application 在聲明對(duì)象變量之后,可用CreateObject函數(shù)或GetObject函數(shù)給變量賦值新的或已存在的Application對(duì)象引用。

a)用CreateObject函數(shù)生成新的對(duì)象引用: Set VBExcel=CreateObject(”Excel.Application“)字符串“Excel.Application”是提供Excel應(yīng)用程序的編程ID,這個(gè)變量引用Excel應(yīng)用程序本身。b)用GetO場(chǎng)ect函數(shù)打開(kāi)已存在的對(duì)象引用:

Set AppExcel=GetObject(”SAMP.XLS“)上面語(yǔ)句打開(kāi)文件SAMP.XLS。

3、Application對(duì)象常用的屬性、方法 屬性、方法 方法

Visible屬性 取True或False,表明Excel應(yīng)用程序是否可見(jiàn)。Left,Top屬性 Excel窗口的位置; Height, Width屬性 Excel窗口的大小;

WindowState屬性 指定窗口的狀態(tài),取:XIMaximized(最大化)X1 Minimized(最小化)x1 Normal(缺省)。Quit方法 退出Microsoft Excel;

Calculate方法 重新計(jì)算所有打開(kāi)的工作簿、工作表或單元格。Evaluate方法 求值數(shù)學(xué)表達(dá)式并返回結(jié)果。示例1:求值數(shù)學(xué)表達(dá)式: Dim VBExcel As Object Set VBExcel=CreateObject(”Excel.Application“)X=VBExcel.Evaluate(”3+5*(cos(1/log(99.9)))“)

三、使用Excel應(yīng)用程序

如前所述,在VB應(yīng)用程序中調(diào)用Excel應(yīng)用程序,就是使用Application對(duì)象的屬性、方法和事件。下面分類給出其中常用的屬性和方法。

1、使用工作薄

Workbook對(duì)象代表Excel應(yīng)用程序中當(dāng)前打開(kāi)的一個(gè)工作簿,包含在Workbooks集合中??梢酝ㄟ^(guò)Workbooks集合或表示當(dāng)前活動(dòng)工作簿的Active Workbook對(duì)象訪問(wèn)Workbook對(duì)象。

常用的方法有: 屬性、方法 意義

Add方法 創(chuàng)建新的空白工作簿,并將其添加到集合中。Open方法 打開(kāi)工作簿。

Activate方法 激活工作簿,使指定工作簿變?yōu)榛顒?dòng)工作簿,以便作為Active Workbook對(duì)象使用。Save方法 按當(dāng)前路徑和名稱保存現(xiàn)有工作簿(如是首次保存,則將其保存到缺省名稱中,如BOOK1.XLS)。SaveAs方法 首次保存工作簿或用另一名稱保存工作簿。Close方法 關(guān)閉工作簿。

PrintOut方法 打印工作簿,語(yǔ)法為:

PrintOut(from, To, Copies, Preview, Printer, ToFile, Collate)可選參數(shù):

From:打印的起始頁(yè)號(hào)。如省略將從起始位置開(kāi)始打印。

To:打印的終止頁(yè)號(hào)。如省略將打印至最后一頁(yè)。

Copies:要打印的份數(shù)。如省略將只打印一份。

Preview:如果為T(mén)rue則Excel打印指定對(duì)象之前進(jìn)行打印預(yù)覽。如果為False,或省略則立即打印該對(duì)象。

Printer:設(shè)置活動(dòng)打印機(jī)的名稱。

ToFile:如果為T(mén)rue則打印輸出到文件。

Collate:如果為T(mén)rue則逐份打印每份副本。下面語(yǔ)句將活動(dòng)工作簿的2到5頁(yè)打印3份:

ActiveWorkbook.PrintOut From:=2 To 5 Copies:=3 示例2:生成、保存、關(guān)閉工作簿 Dim VBExcel As Excel.Application Set VBExcel== CreateObject(”Excel.Application“)With VBExcel.Workbooks.Add With ActiveWorkbook.Save As”C: Temp OUTPUT.XLS“.Close

End With.Quit End With

2、使用工作表

Sheets集合表示工作簿中所有的工作表。可以通過(guò)Sheets集合來(lái)訪問(wèn)、激活、增加、更名和刪除工作表。一個(gè)Worksheet對(duì)象代表一個(gè)工作表。

常用的屬性、方法有: 屬性、方法 意義

Worksheets屬性 返回Sheets集合。Name屬性 工作表更名。

Add方法 創(chuàng)建新工作表并將其添加到工作簿中。Select方法 選擇工作表。Copy方法 復(fù)制工作表。

Move方法 將指定工作表移到工作簿的另一位置。Delete方法 刪除指定工作表。PrintOut方法 打印工作表。

示例3:將C盤(pán)工作簿中的工作表復(fù)制到A盤(pán)工作簿中: Dim VBExcel As Excel.Application Set VBExcel=CreateObject(”Excel.Application“)With VBExcel.Workbooks.Open ”C:TempOUTPUT.XLS“.Workbooks.Open”A:OUTPUT1.XLS“.Workbooks(”O(jiān)UTPUT.XLS“).Sheets(”Sales“).Copy.Workbooks(”O(jiān)UTPUT1.XLS).Workbooks(“OUTPUT1.XLS”).Save

.Workbooks(“OUTPUT.XLS”).Close.Workbooks(“OUTPUTI.XLS”).Close.Quit End With

3、使用單元范圍

Range對(duì)象代表工作表的某一單元格、某一行、某一列、某一選定區(qū)域或者某一三維區(qū)域。常用的屬性、方法有: 屬性、方法 意義

Range屬性 Range(arg)其中arg為A1--樣式符號(hào),表示單個(gè)單元格或單元格區(qū)域。Cells屬性 Cells(row, col)(其中row為行號(hào),col為列號(hào))表示單個(gè)單元格。ColumnWidth屬性 指定區(qū)域中所有列的列寬。Rowl3eight屬性 指定區(qū)域中所有行的行寬。Value屬性 指定區(qū)域中所有單元格的值(缺省屬性)。Formula屬性 指定單元格的公式,由A1--樣式引用。Select方法 選擇范圍。

Copy方法 將范圍的內(nèi)容復(fù)制到剪貼板。C1earContents方法 清除范圍的內(nèi)容。Delete方法 刪除指定單元范圍。

4、使用圖表

Chart對(duì)象代表工作簿中的圖表。該圖表既可為嵌人式圖表(包含于ChartObject對(duì)象中)也可為分立的圖表工作表。

常用方法有: 方法 意義

Add方法 新建圖表工作表。返回Chart對(duì)象。PrineOut方法 打印圖表。

ChartWizard方法 修改給定圖表的屬性,其語(yǔ)法為:

ChartWizard(Source, Gallery, Format, P1otBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle)其中:

Source:包含新圖表的源數(shù)據(jù)的區(qū)域。如省略,將修改活動(dòng)圖表工作表或活動(dòng)工作表中處于選定狀態(tài)的嵌人式圖表。

Gallery:圖表類型。其值可為下列常量之一:xlArea, x1Bar, xlColumn, xlLine, x1Pie, xlRadar,x1XYScatter, xlCombination, x13DArea, x13DBar、x13DColumn, x13DLine, x13DPie、x13 DSurface、xlDoughnut或xlDefaultAutoFormat。

Format:內(nèi)置自動(dòng)套用格式的編號(hào)。如省略,將選擇默認(rèn)值。P1otBy:指定系列中的數(shù)據(jù)是來(lái)自行(xlRows)還是列(xlColumns)。CategoryLabels:表示包含分類標(biāo)志的源區(qū)域內(nèi)行數(shù)或列數(shù)的整數(shù)。SeriesLabels:表示包含系列標(biāo)志的源區(qū)域內(nèi)行數(shù)或列數(shù)的整數(shù)。HasLegend:若指定True,則圖表將具有圖例。Title:圖表標(biāo)題文字。

CategoryTitle:分類軸標(biāo)題文字。ValueTitle:數(shù)值軸標(biāo)題文字。

ExtraTitle:三維圖表的系列軸標(biāo)題,或二維圖表的第二數(shù)值軸標(biāo)題。

可組合使用Add方法和ChartWizard方法,以創(chuàng)建包含工作表中數(shù)據(jù)的圖表工作表。下例基于工作表“Sheetl”中單元格區(qū)域“A1:A20”中的數(shù)據(jù)生成新的折線圖并打印。

With Charts.Add.ChartWizard source:=Worksheets(“sheet1”).Range(“a1:a20”),gallery:=xlLine, title:=“折線圖表”

.Printout End With

5、使用Excel工作表函數(shù)

在VB語(yǔ)句中可使用大部分的Excel工作表函數(shù),可通過(guò)WorksheetFunction對(duì)象調(diào)用Excel工作表函數(shù)。下面的Sub過(guò)程用Min工作表函數(shù)求出指定區(qū)域中單元格的最小值,并通過(guò)消息框顯示結(jié)果值。

Sub UseFunction()Dim myRange As Range Set myRange=Worksheets(“Sheet1”).Range(“B2:F10”)answer=Application.WorksheetFunction.Min(myRange)MsgBox answer End Sub 如果使用以區(qū)域引用為參數(shù)的工作表函數(shù),必須指定一個(gè)Range對(duì)象。如可用Match工作表函數(shù)對(duì)A1:A10區(qū)域的所有單元格進(jìn)行搜索。

Sub FindFirst()my Var=Application.WorksheetFunction.Match(9, Worksheets(1).Range(“A1:A10”),0)MsgBox myVar End Sub 要在單元格中插人工作表函數(shù),可將該函數(shù)指定為對(duì)應(yīng)于Range對(duì)象的Formula屬性值。在以下示例中,將當(dāng)前工作簿Sheetl內(nèi)A1:B3區(qū)域的Formula屬性指定為RAND工作表函數(shù)(此函數(shù)產(chǎn)生二個(gè)隨機(jī)數(shù))。

Sub InsertFormula()Worksheets(“Sheet1”).Range(“A1:B3”).Formula=“RAND()” End Sub 以上簡(jiǎn)要介紹了Excel對(duì)象模型中部分對(duì)象及其屬性和方法,更詳細(xì)的信息可參閱Excel 2000幫助中的“Microsoft Excel Visual Basic參考”一節(jié)的內(nèi)容。實(shí)際上,Microsoft Office家族的Word,PowerPoint, Access和Project等應(yīng)用程序都可以在VB應(yīng)用程序中調(diào)用,其原理和步驟完全相同,只是其對(duì)象模型有所不同而已。

----VB程序中直接調(diào)用Excel的格式如下:

Private Sub menudy_Click(Index As Integer)這是一個(gè)打印菜單 Select Case Index Case 0 On Error GoTo kung aaa = Shell(“D:Program FilesMicrosoft OfficeOfficeEXCEL.EXE c:cnglcngl.xls“, 1)Case 1 On Error GoTo kong 作為空表處理 aaa = Shell(“D:Program FilesMicrosoft OfficeOfficeEXCEL.EXE c:cnglcngly.xls”, 1)Case 3 Case 4 Case 5 End Select Exit Sub kung: aaa = Shell(“EXCEL.EXE c:cnglcngl.xls“, 1)Exit Sub kong: aaa = Shell(“EXCEL.EXE c:cnglcngly.xls”, 1)End Sub----由于Word97和Excel97等高版本的Office組件都有和VB 的接口:VB 編輯器,所以我們可以直接利用 VB 編輯器編寫(xiě)我們需要的程序。步驟如下:進(jìn)入Excel97后,用鼠標(biāo)點(diǎn)擊菜單欄中的“工具”按鈕,選擇“宏”,再選擇“VB 編輯器”。

----“VB編輯器”的編輯界面非常類似于“Visual Basic“的界面。我們可以從它的控件“工程資源管理器”中插入需要的“添加用戶窗體、添加模塊、添加類模塊”,并且從“屬性窗口”中加入屬性。

----例如,我們可以制定一個(gè)打印窗體,通過(guò)程序來(lái)實(shí)現(xiàn)數(shù)據(jù)定位和循環(huán)調(diào)用打印過(guò)程。Public panduan As Boolean Private Sub CommandButton1_Click()change If panduan Then Unload Me Else TextBox1.Text = “” End If End Sub Sub change()If Not judgeday(TextBox1.Text)Then GoTo error panduan = True Dim sql As String Dim db As Database Dim rs As Recordset sql = “SELECT * From 數(shù)據(jù)表“ sql = sql + “ WHERE(((數(shù)據(jù)表.日期)= ?!?+ TextBox1.Text + “#))“ Setdb =OpenDatabase(Application.ThisWorkbook.Path +“cngl.mdb”)Set rs = db.OpenRecordset(sql, dbOpenDynaset)If rs.EOF Then

MsgBox(“此日期無(wú)數(shù)據(jù)“)Exit Sub End If daima1 = rs.Fields(“代碼”)Sheet1.Range(“e5“).Value = rs.Fields(“日期”)Sheet1.Range(“f7“).Value = rs.Fields(“數(shù)據(jù)表記錄”)Sheet1.Range(“d13“).Value = rs.Fields(“整數(shù)100”)Sheet1.Range(“d15“).Value = rs.Fields(“整數(shù)50”)Sheet1.Range(“d17“).Value = rs.Fields(“整數(shù)10”)Sheet1.Range(“d19“).Value = rs.Fields(“整數(shù)5”)Sheet1.Range(“d21“).Value = rs.Fields(“整數(shù)2”)Sheet1.Range(“d23“).Value = rs.Fields(“整數(shù)1”)Sheet1.Range(“h13“).Value = rs.Fields(“其他100”)Sheet1.Range(“h15“).Value = rs.Fields(“其他50”)Sheet1.Range(“h17“).Value = rs.Fields(“其他10”)Sheet1.Range(“h19“).Value = rs.Fields(“其他5”)Sheet1.Range(“h21“).Value = rs.Fields(“其他2”)Sheet1.Range(“h23“).Value = rs.Fields(“其他1”)Sheet1.Range(“d37“).Value = Sheet1.Range(“d13”).Value * 100 + Sheet1.Range(“d15“).Value * 50 + Sheet1.Range(“d17”).Value * 10 + Sheet1.Range(“d19“).Value * 5 + Sheet1.Range(“d21”).Value * 2 + Sheet1.Range(“d23“).Value Sheet1.Range(“h37”).Value = Sheet1.Range(“h13“).Value * 100 + Sheet1.Range(“h15”).43

Value * 50 + Sheet1.Range(“h17“).Value * 10 + Sheet1.Range(“h19”).Value * 5 + Sheet1.Range(“h21“).Value * 2 + Sheet1.Range(“h23”).Value Dim sql1 As String Dim db1 As Database Dim rs1 As Recordset sql1 = “SELECT * From 代碼字典“ sql1 = sql1 + “WHERE(((代碼字典.代碼)= ” & daima1 & “))“ Setdb1 =OpenDatabase(Application.ThisWorkbook.Path + “cngl.mdb”)Set rs1 = db1.OpenRecordset(sql1, dbOpenDynaset)Sheet1.Range(“h41“).Value = rs1.Fields(“代碼字典名稱”)Exit Sub error: MsgBox(“日期輸入錯(cuò)誤“)panduan = False End Sub Private Sub TextBox1_Change()End Sub Private Sub UserForm_Activate()dyxjkc.Top = 30 dyxjkc.Left = 230 End Sub----具體的表格畫(huà)線可以由Excel自動(dòng)完成,因此簡(jiǎn)化了VB 編程的步驟,并且節(jié)約調(diào)試程序和畫(huà)線定

位的時(shí)間。

這兩天編了一個(gè)程序,基本功能是從自動(dòng)站B文件(ACCESS數(shù)據(jù)庫(kù)文件)查詢當(dāng)月的日數(shù)據(jù)生成月簡(jiǎn)表,調(diào)出數(shù)據(jù)很好實(shí)現(xiàn),程序的核心源碼是把這些數(shù)據(jù)寫(xiě)入一個(gè)Excel模板中,這是我以前就想學(xué)會(huì)的一個(gè)功能,但沒(méi)有好好去找資料,為編這個(gè)程序在網(wǎng)上查找了一些資料,只用一小段代碼就實(shí)現(xiàn)了把數(shù)據(jù)寫(xiě)入Excel模板中的功能,下面是基本源碼,后面附幾篇用VB控制的文章,希望對(duì)大家有益。(如果大家感興趣的話,我可以把那個(gè)從自動(dòng)站中調(diào)用數(shù)據(jù)并形成日數(shù)據(jù)EXCEL文件的源碼發(fā)上來(lái))

Dim exl As New Excel.Application Dim book As New Excel.Workbook Dim sheet As New Excel.Worksheet '先使用excel制作一個(gè)模板

Set book = exl.Workbooks.Open(”你制作的excel的路徑“)Set sheet = book.Worksheets(1)'在excel的格子中寫(xiě)入你想打印的內(nèi)容 With sheet.Cells(Row, col)= ”“ End With sheet.PrintOut book.Close Set book = Nothing exl.Quit Set exl = Nothing 45

Excel、Access、VB的結(jié)合應(yīng)用

----微軟公司的Office系列辦公軟件相信已是眾所周知,其中Excel強(qiáng)大的統(tǒng)計(jì)制表功能、Access功能完備的數(shù)據(jù)處理能力深受眾多用戶所喜愛(ài)。Visual Bsaic更是微軟公司又一有力的產(chǎn)品,它簡(jiǎn)單易學(xué),在Windows編程中的應(yīng)用十分廣泛。本文通過(guò)介紹數(shù)據(jù)處理及復(fù)雜表格的打印,來(lái)討論VB與Excel及Access的結(jié)合運(yùn)用。

----由于筆者所在的公司員工眾多,在進(jìn)行職工養(yǎng)老保險(xiǎn)繳費(fèi)的計(jì)算工作時(shí),若使用勞動(dòng)局編制的軟件(用Foxbase編寫(xiě)),無(wú)論是在管理或維護(hù)方面均顯得力不從心。于是在公司領(lǐng)導(dǎo)的強(qiáng)烈要求下,決定由筆者構(gòu)思重新編制?;舅悸肥牵?.將所有員工資料輸入Access進(jìn)行處理,以便于維護(hù)。2.在Excel中預(yù)先制成有表頭的空表(Access相對(duì)欠缺處理復(fù)雜表格的能力),對(duì)需要進(jìn)行金額匯總或其他運(yùn)算的單元格可直接輸入公式。3.在VB中編寫(xiě)程序代碼,從Access中提取數(shù)據(jù)填入Excel對(duì)應(yīng)表格相應(yīng)的單元格,并輸出至打印機(jī)。

----部分窗體及源程序代碼如下:----1.程序主模塊

----定義Excel、Access對(duì)象變量,顯示系統(tǒng)啟動(dòng)畫(huà)面,進(jìn)入系統(tǒng)主程序界面。強(qiáng)調(diào)一下,在編寫(xiě)程序之前須加入對(duì)Excel及Access庫(kù)函數(shù)的引用,具體操作是:選擇菜單欄'工程''引用?',將'可使用的引用'列表框內(nèi)'Microsoft Access 8.0 Object Library'和 'Microsoft Excel 8.0 Object Library'兩項(xiàng)前的復(fù)選框標(biāo)為選中,按”確定“返回。

mdsMain.bas '定義數(shù)據(jù)庫(kù)記錄集及Excel對(duì)象變量 Public ex As New Excel.Application Public exwbook As Excel.Workbook Public exsheet As Excel.Worksheet Public mydatabase As Database Public myrecordset1 As Recordset [定義記錄集]

?? ??

Public Opt As Integer '報(bào)表選項(xiàng) [Opt為frmSelreport.frm返回值] Public isYN As Boolean Sub Main()Load frmSplash frmSplash.Show frmSplash.Label2.Caption = ” 系統(tǒng)正在加載Access數(shù)據(jù)庫(kù)...“ Set mydatabase = OpenDatabase(”c:sbdasbda.mdb“)Set myrecordset1 = mydatabase.OpenRecordset(”報(bào)表打印(一)“)[此處對(duì)記錄集賦值] ?? ??

frmSplash.Label2.Caption = ” 系統(tǒng)正在加載Excel電子表格...“ Set ex = CreateObject(”excel.application“)Set exwbook = ex.Workbooks.Open(”c:sbdasbda.xls“)Load FrmInput '將數(shù)據(jù)輸入窗體加載到內(nèi)存中 Unload frmSplash Load FrmMain'將主程序界面加載到內(nèi)存中 End Sub----2.報(bào)表打印模塊

----其中ExcelDoForVB1()是一子程序,由prnProess()調(diào)用,作用是從Access中提取所需數(shù)據(jù)資料,填入Excel對(duì)應(yīng)工作表(Worksheet)的相應(yīng)單元格(Cells)中,然后打印已填入數(shù)據(jù)的表格;prnProess()則負(fù)責(zé)實(shí)現(xiàn)對(duì)VB通用對(duì)話框(Commom Dialog)中打印功能的控制。

mdlPrint.bas Option Explicit '定義循環(huán)計(jì)數(shù)變量

Public nRow As Integer, nCol As Integer, nBtoE As Integer '定義變量接收打印對(duì)話框返回值 Public BeginPage, EndPage, NumCopies '程序運(yùn)行時(shí)需進(jìn)行判斷的各種標(biāo)志 Public nflag, Flag, ifNum '數(shù)據(jù)記錄集中指針移動(dòng)數(shù)

Public PageN As Integer, n As Integer 'bar1為進(jìn)度條 Public bar1 As Object Sub prnProess()'控制通用對(duì)話框打印功能

Set bar1 = FrmPrint.PgsBar1 '進(jìn)度條 On Error GoTo errhandle: If Flag = 0 Then '當(dāng)打印對(duì)話框中選”全部“時(shí) Select Case Opt'選擇需要打印的表格 Case 1 nflag = 1 myrecordset1.MoveFirst

myrecordset1.MovePrevious PageN = 1 Do While nflag = 1 Call ExcelDoForVB1 '數(shù)據(jù)填入Excel單元格打印 PageN = PageN + 1 Loop Case 2 ?? ?? End Select Else If Flag = 2 Then' 當(dāng)打印對(duì)話框中選”頁(yè)"時(shí)

If EndPageBeginPage > 0 Then ifNum = 1 Else ifNum = 2 End If End If Select Case ifNum Case 2

Exit Sub Case 0 Select Case Opt ' 選擇需要打印的表格 Case 1 myrecordset1.MoveFirst n =(BeginPage4 + 1)1)*(491 myrecordset1.Move n PageN = BeginPage

下載EXCEL VBA工作表操作全能方法小結(jié)word格式文檔
下載EXCEL VBA工作表操作全能方法小結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    新高考新操作工作小結(jié)

    2011屆新高考新操作工作小結(jié) 一、已完成的工作 1、 新高考改革的政策進(jìn)行廣泛、多種形式的宣傳,已深入學(xué)生、家長(zhǎng)心中。 2、 高考網(wǎng)上報(bào)名工作已于12月順利完成。 3、 高考電......

    建立Excel 2000工作表及其操作教案

    教案主題:Excel 2000數(shù)據(jù)輸入及函數(shù)和公式的使用 系科:數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院專業(yè)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)六班姓名:朝陽(yáng)學(xué)號(hào):任課教師: 二〇〇八年五月二十一日 Excel 2000數(shù)據(jù)輸入......

    Oracle05表操作和約束(范文模版)

    一、 DDL數(shù)據(jù)定義語(yǔ)言 1. 創(chuàng)建表:create table 表名要求: 1.必須以字母開(kāi)頭 2.必須在1-30個(gè)字符之間 3.必須只能包含A-Z,a-z,0-9,$,_,# 4.必須不能和用戶定義的其他對(duì)象重名 5......

    操作數(shù)據(jù)庫(kù)小結(jié)

    一.查詢操作 對(duì)數(shù)據(jù)進(jìn)行查詢操作時(shí),有兩種情況:一是查詢單個(gè)值,二是 查詢?nèi)舾蓷l記錄。 1、 查詢單個(gè)值 需要使用Command對(duì)象的ExecuteScalar()方法:步驟如下: (1)、創(chuàng)建Connection對(duì)象......

    運(yùn)行操作小結(jié)

    T-101隔油池 5格兩頭小中間大,格間水流做上下逐級(jí)流動(dòng)。2個(gè)進(jìn)水口,分別在第1、3格,做了個(gè)超濾管到第三格一般情況下都是進(jìn)第一格。油主要集中在1、2格。1、來(lái)水帶油且較多; 2、......

    2009三季度操作小結(jié)

    2011年操作運(yùn)動(dòng)會(huì)總結(jié) 為迎接新公司成立以來(lái)第一屆操作運(yùn)動(dòng)會(huì)的召開(kāi),根據(jù)公司選拔工作安排,我車間做了相應(yīng)具體部署。首先,成立操作比武領(lǐng)導(dǎo)小組,召開(kāi)職能人員會(huì)議宣傳,并通......

    初定專業(yè)技術(shù)資格表工作小結(jié)

    自2008年11月從事技術(shù)助理工作至今,在這段時(shí)間里,學(xué)到了很多以前書(shū)本中沒(méi)有接觸到的知識(shí)。工作以來(lái),在單位領(lǐng)導(dǎo)及同事們的幫助下圓滿完成了各項(xiàng)工作,通過(guò)自身的不斷努力,無(wú)論是思......

    各種工作分析方法的優(yōu)缺點(diǎn)及適用范圍比較表

    各種工作分析方法的優(yōu)缺點(diǎn)及適用范圍比較表 1、 訪談法 優(yōu)點(diǎn):簡(jiǎn)單、有效;訪談的過(guò)程是一個(gè)雙向溝通的參與性;不僅能了解到工作本身的信息,還能了解工作者的工作態(tài)度與工作動(dòng)機(jī)等......

主站蜘蛛池模板: 乱人伦精品视频在线观看| 国产一区二区女内射| 国产成人年无码av片在线观看| 国产精品沙发午睡系列990531| 久久精品青青大伊人av| 在线精品亚洲一区二区三区| 国产精自产拍在线看中文| 青青草免费公开视频| 亚洲日韩av无码一区二区三区| 狠狠色综合7777久夜色撩人ⅰ| 人妻激情偷乱视频一区二区三区| 欧美人与动牲交zooz3d| 成人无码在线视频网站| 2020久久超碰国产精品最新| 久久精品噜噜噜成人| 少妇扒开双腿让我看个够| 日韩国产亚洲一区二区三区| 欧美成人精品三级网站下载| 成年无码a√片在线观看| 亚洲精品无码午夜福利中文字幕| 久久人与动人物a级毛片| 免费乱码人妻系列无码专区| 精品国产一区二区三区久久影院| 欧美精品一区二区精品久久| 高潮射精日本韩国在线播放| 92午夜少妇极品福利无码电影| 18黄暴禁片在线观看| 五月丁香综合激情六月久久| 亚洲毛片不卡av在线播放一区| 自拍性旺盛老熟女| 精品综合久久久久久97| 日韩精品一区二区亚洲av| 亚洲乱色熟女一区二区三区麻豆| 伊人大杳焦在线| 亚洲熟妇无码久久精品| 国产高清一区二区三区直播| 国产午夜精华无码网站| 亚洲国产精品第一区二区三区| 亚洲aⅴ在线无码播放毛片一线天| 中文字幕丰满乱子无码视频| 久久久久无码精品国产h动漫|