久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Excel VBA程序的編寫

 株野 2021-05-09

摘要:本文通過代碼演示,介紹如何從Active Directory中檢索信息并將信息顯示在帶格式的Excel工作表中,。

(注:本文摘自Microsoft Corporation 技術(shù)人員Greg Stemp的文章,,稍作修改。在文章中,,估且先不要管Active Directory,,可看看文章所介紹的有關(guān)Excel程序編寫的相關(guān)知識(shí),肯定會(huì)有所幫助的,。所有示例及圖示均在工作簿Excel代碼編寫示例.xls中)
使用 Excel:快速回顧
我們可以僅僅使用下面兩行代碼就能創(chuàng)建 Excel工作簿:
****************************************
Sub BuildWorkbook()
Dim objExcel as Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Add
End Sub
****************************************
在默認(rèn)情況下,,您在任何時(shí)候創(chuàng)建的 Excel 工作簿都運(yùn)行在不可見的窗口之中。要實(shí)際地看一看所創(chuàng)建的Excel 工作簿,,需要將 Visible 屬性設(shè)置為 TRUE,,如下所示:
****************************************
Sub BuildWorkbook()
Dim objExcel as Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Add
objExcel.Visible = True
End Sub
****************************************
上面的三行代碼將在屏幕上顯示一個(gè)空白的電子表格。
將數(shù)據(jù)添加到電子表格中
當(dāng)電子表格關(guān)閉時(shí),,您可以很容易地將數(shù)據(jù)添加到電子表格中,。首先您簡單地引用一個(gè)單元格,,然后相應(yīng)地設(shè)置值。例如,,假設(shè)我們想要將文本“My Workbook”輸入第一行第一列,。試一試下面的代碼,看看會(huì)發(fā)生什么:
****************************************
Sub addData()
Dim objExcel as Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "My Workbook"
End Sub
****************************************
當(dāng)您運(yùn)行這個(gè)代碼后,,會(huì)看到類似如下面圖1所示的輸出:
 
圖 1. 將數(shù)據(jù)寫入 Excel 電子表格
哈哈,,很酷吧!如果您想要添加其他的數(shù)據(jù),,我們只需要多引用幾個(gè)單元格并且設(shè)置合適的值就可以了,。例如,下面的腳本將四種動(dòng)物的名稱添加到我們的電子表格中:
****************************************
Sub addDatas()
  Dim objExcel As Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "小貓"
objExcel.Cells(1, 2).Value = "小狗"
objExcel.Cells(1, 3).Value = "小兔"
objExcel.Cells(1, 4).Value = "小豬"
End Sub
****************************************
當(dāng)您運(yùn)行這段代碼后,,會(huì)看到類似如下圖2所示的輸出:
 
圖 2. 將數(shù)據(jù)寫入 Excel 電子表格中的多個(gè)單元格
現(xiàn)在,,真的非常酷……,!嗯,,不錯(cuò),您真行,!但這還不夠,,是嗎?可以將數(shù)據(jù)添加到電子表格是一件了不起的事哦,,不過,,讓我們考慮一下這個(gè)問題。我們?yōu)槭裁丛敢庠?Excel 中顯示數(shù)據(jù)而不愿意在命令窗口中顯示數(shù)據(jù)或?qū)⑵浔4娴轿谋疚募心??我們之所以愿意這么做,,最可能的原因并不是選擇這兩種方法會(huì)讓您花大量的精力去安排數(shù)據(jù)的格式。至少我們可以說將數(shù)據(jù)輸出到命令窗口或保存到文本文件會(huì)缺少某種美感,。這就是我們?cè)敢馐褂肊xcel的原因,;Excel使您能夠創(chuàng)建格式漂亮、易于閱讀的輸出,。但是在這里我們還無法保證有格式漂亮的輸出,;畢竟,您可能連“小貓”或“小狗”這樣的名字都讀不到,。因此,,在進(jìn)一步討論之前,讓我們先來談一談Excel中的格式設(shè)置,。
Excel中的格式設(shè)置
如果您曾經(jīng)使用過 Excel,,您就知道在 Excel 中設(shè)置格式是多么的容易:您只需選擇一兩個(gè)單元格,然后就可以應(yīng)用某種格式了(更改字體大小,、更改單元格的背景顏色,、將文本設(shè)置為黑體等等,,想做什么都可以)。在程序化地使用Excel時(shí),,您也可以做同樣的事情,。例如,僅僅通過使用一些設(shè)置格式的命令,,您就可以設(shè)置活動(dòng)單元格(即您正在輸入的單元格)的格式,。下面的代碼將單詞“My Workbook”輸入到第1行第1列的單元格中,然后進(jìn)行如下操作:
1,、將文本設(shè)為黑體(通過將Bold屬性設(shè)置為TRUE),。
2、將字體大小設(shè)為 24(通過將Size屬性設(shè)置為 24),。
3,、將字體顏色設(shè)為紅色(通過將ColorIndex屬性設(shè)置為3)。
****************************************
Sub Setformat()
  Dim objExcel As Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "My Workbook"
objExcel.Cells(1, 1).Font.Bold = TRUE
objExcel.Cells(1, 1).Font.Size = 24
objExcel.Cells(1, 1).Font.ColorIndex = 3
End Sub
****************************************
當(dāng)您運(yùn)行這個(gè)代碼時(shí),,您會(huì)看到如下圖3所示的輸出:
 
圖 3. 將帶格式的數(shù)據(jù)寫入 Excel 電子表格
屏住呼吸,,怎么樣?
最好的是除了 ColorIndex 屬性略顯復(fù)雜之外(等一會(huì)兒我們將討論它),,這段代碼是非常簡單的,。如果想要將文本設(shè)為斜體該怎么辦?可以使用下面這行代碼:
****************************************
objExcel.Cells(1, 1).Font.Italic = TRUE
****************************************
如果想要使用 Times New Roman 字體該怎么辦,?可以使用下面這行代碼:
*************************************************
objExcel.Cells(1, 1).Font.Name = "Times New Roman"
*************************************************
注:遺憾的是,,我們沒有時(shí)間全面介紹您在處理時(shí)會(huì)使用的許多格式設(shè)置選項(xiàng)。不過,,請(qǐng)您關(guān)注,我將在以后摘錄一些很好的關(guān)于 Excel 對(duì)象模型的信息,。
好的,,但 ColorIndex 屬性又怎么樣呢?雖然在 Excel 中有兩種不同的方法更改顏色,,但 ColorIndex 可能是最簡單的(它還可以告訴您一些關(guān)于其他方法的內(nèi)容),。在 Excel 中,有56種內(nèi)置的顏色(索引號(hào) 1–56)可供您使用,;您必須做的事情就是將 ColorIndex 屬性的值設(shè)置為期望的索引號(hào),。唯一的問題就是:您如何知道索引號(hào)3是紅色,而索引號(hào)4是您真正感興趣的綠色陰影呢,?
下面這些簡單的程序代碼會(huì)向您顯示所有的56個(gè)索引號(hào)都代表什么顏色: 
*************************************************
Sub TestColor()
  Dim objExcel As Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
Dim i As Integer
For i = 1 to 56
objExcel.Cells(i, 1).Value = i
objExcel.Cells(i, 1).Interior.ColorIndex = i
Next
End Sub
*************************************************
當(dāng)您運(yùn)行這段代碼后,,您會(huì)看到如下圖4所示的輸出:
 
圖 4. Excel ColorIndex 值
您可以看出,如果您想要將字體顏色設(shè)置為清綠色,,則只需將 ColorIndex 設(shè)置為 8 就行了,。
順便提一句,,如果您仔細(xì)地看過了前面的代碼,您現(xiàn)在就會(huì)知道如何設(shè)置單元格的背景顏色:只需使用 Interior.ColorIndex 屬性就行了,。例如,,要將單元格的顏色設(shè)置為紅色,可以使用下面的代碼:
*************************************************
objExcel.Cells(1, 1).Interior.ColorIndex = 3
*************************************************
在繼續(xù)討論之前,,先來為我們的格式設(shè)置代碼做另外一件事,。您可能會(huì)想得起來,我們的測(cè)試代碼向我們顯示以下圖5所示的輸出:
 
圖 5. 將帶格式的數(shù)據(jù)寫入 Excel 電子表格
問題在哪里,?嗯,,首先單詞“My Workbook”并沒有全部顯示在第一列中。那好,,如果我們?cè)诘谝恍械诙兄休斎胍恍﹥?nèi)容會(huì)怎么樣呢,?我們會(huì)看到類似于圖6這樣的輸出:
 
圖 6. Excel 電子表格中大小設(shè)置不正確的列
沒有正確地得到我們所希望的輸出類型。顯然,,我們需要做的是將第一列加寬一點(diǎn),。但怎么做呢?
使用范圍
到此為止,,我們還只是設(shè)置了活動(dòng)單元的格式,,為其更改字體大小、單元格顏色等等,。然而,,有時(shí)您需要使用多個(gè)單元格?;蛟S您想要更改特定行中所有單元格的字體大小,。或許您想要對(duì)您收集的所有數(shù)據(jù)進(jìn)行排序,?;蛟S,和下面的例子一樣,,您想要重新設(shè)置整個(gè)列的大小,。如果這樣,您就需要使用范圍,,即一組指定的單元格,。
雖然有幾種不同的方法指示范圍中包含的單元格,但是它們有一點(diǎn)是共同的:它們都需要您創(chuàng)建 Range 對(duì)象的實(shí)例,,然后 指定哪些單元格是該范圍的一部分,。例如,下面是一些創(chuàng)建范圍的常用方法。
要?jiǎng)?chuàng)建包含單個(gè)單元格的范圍:
*************************************************
Set objRange2 = objExcel.Range("A1")
*************************************************
要?jiǎng)?chuàng)建包含整個(gè)列的范圍:
*************************************************
Set objRange = objExcel.ActiveCell.EntireColumn
*************************************************
正如您所期望的,,有相似的命令來創(chuàng)建包含整個(gè)行的范圍:
*************************************************
Set objRange = objExcel.ActiveCell.EntireRow
*************************************************
如果您想要選擇的行或列不同于帶有活動(dòng)單元格的行或列怎么辦,?沒問題。使用所需的行或列中的一個(gè)單元格來創(chuàng)建范圍,,然后使用 Activate 方法來使其成為活動(dòng)單元格,。此時(shí),設(shè)置代表整個(gè)行或列的范圍,。例如,,下面這段代碼使單元格 E5 成為活動(dòng)單元格,然后通過選擇整個(gè)行來創(chuàng)建包含第 5 行中的所有單元格的范圍:
*************************************************
Set objRange = objExcel.Range("E5")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireRow
*************************************************
要?jiǎng)?chuàng)建包含一組單元格的范圍:
*************************************************
Set objRange = objExcel.Range("A1:C10")
*************************************************
注意,,您在這里做的是指定起點(diǎn) (A1) 和終點(diǎn) (C10),。Excel 會(huì)自動(dòng)選擇這兩個(gè)點(diǎn)之間的所有單元,并把它們放在范圍之中,。
要?jiǎng)?chuàng)建包含所有數(shù)據(jù)的范圍:
*************************************************
Set objCell = objExcel.Range("A1").SpecialCells(11)
*************************************************
在這個(gè)例子中,,11 是表示包含數(shù)據(jù)的電子表格中最后的單元格的參數(shù)。這個(gè)命令所創(chuàng)建的范圍從單元格 A1 開始一直延伸到所有包含數(shù)據(jù)的單元格,。
為了進(jìn)行演示,,讓我們?cè)倏匆幌虑懊娴拇a,看看我們是否能夠使它變得更漂亮一點(diǎn),。在這個(gè)經(jīng)過修改的代碼中,,我們將把動(dòng)物的名稱放在單列(而不是單行)中,并且我們將給該列加上粗體標(biāo)簽 (Name),。然后,,僅僅是為了使它變得更美觀一些,我們將:
1,、更改帶標(biāo)簽的單元格 (1,1) 的背景顏色和字體顏色,。
2、創(chuàng)建包含我們正在使用的五個(gè)單元格的范圍 (A1:A5) 并更改字體大小,。
3,、創(chuàng)建包含帶有四個(gè)動(dòng)物名稱的單元 (A2:A5) 的范圍并更改背景顏色。
4,、選擇列 A 并使用 Autofit 方法來重新設(shè)置列的大小,,以便所有的文本都適合,。
代碼如下:
*************************************************
Sub TestRange()
  Dim objExcel As Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Name"
objExcel.Cells(1, 1).Font.Bold = TRUE
objExcel.Cells(1, 1).Interior.ColorIndex = 30
objExcel.Cells(1, 1).Font.ColorIndex = 2
objExcel.Cells(2, 1).Value = "小貓"
objExcel.Cells(3, 1).Value = "小狗"
objExcel.Cells(4, 1).Value = "小兔"
objExcel.Cells(5, 1).Value = "小豬"
Set objRange = objExcel.Range("A1","A5")
objRange.Font.Size = 14
Dim objRange As Range
Set objRange = objExcel.Range("A2","A5")
objRange.Interior.ColorIndex = 36
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.AutoFit
End Sub
*************************************************
下面圖7是最終的輸出結(jié)果:
 
圖 7. Excel 電子表格中美觀的格式
數(shù)據(jù)排序
您可以對(duì)Excel中的輸出進(jìn)行排序,。將下面這兩行代碼放在上面的程序的末尾(我們等會(huì)兒解釋這兩行代碼的含義),然后再次運(yùn)行程序:
*************************************************
Dim objRange2 As Range
Set objRange2 = objExcel.Range("A1")
objRange.Sort objRange2,,,,,,,1
*************************************************
您應(yīng)該看到如下圖8所示的輸出:
 
圖 8. Excel 電子表格中經(jīng)過排序的數(shù)據(jù)
您必須按范圍對(duì) Excel 中的數(shù)據(jù)進(jìn)行排序,。因而,,您需要?jiǎng)?chuàng)建一個(gè)范圍,它包含您想要按其進(jìn)行排序的列的第一個(gè)單元格,。因?yàn)槲覀兿胍戳蠥進(jìn)行排序,,所以我們創(chuàng)建的范圍包含單個(gè)單元格:A1,。下面這行代碼的作用就在于此:
*************************************************
Set objRange2 = objExcel.Range("A1")
*************************************************
這種 Sort 方法看起來很瘋狂(這么多逗號(hào)!),,但這是因?yàn)槲覀儍H僅按單列進(jìn)行排序,。當(dāng)您在 Excel 中對(duì)一些內(nèi)容進(jìn)行排序時(shí),您必須依次指定所有的排序參數(shù),;如果您不使用參數(shù),,則將其保留為空。下表對(duì)這些參數(shù)進(jìn)行了總結(jié),。
*************************************************
參數(shù)位置 說明
1 按第一列進(jìn)行排序,。必須將其指定為范圍。
2第一列的排序次序,。將其設(shè)置為 1 表示升序(默認(rèn)),,將其設(shè)置為 2 表示降序。
3按第二列進(jìn)行排序,。必須將其指定為范圍,。
4不用于腳本。將其保留為空,。
5第二列的排序次序,。
6按第三列進(jìn)行排序。必須將其指定為范圍,。
7第三列的排序次序,。
8指示將要進(jìn)行排序的數(shù)據(jù)是否有標(biāo)題行。將其設(shè)置為 1,,指示該數(shù)據(jù)有標(biāo)題行,;將其設(shè)置為 0,指示該數(shù)據(jù)沒有標(biāo)題行,;而0可以讓 Excel 確認(rèn)數(shù)據(jù)是否有標(biāo)題行,。
*************************************************
下面是在我們的示例代碼中解釋排序參數(shù) objRange2,,,,,,,1 的方式:
*************************************************
參數(shù)  說明
objRange2按第一列進(jìn)行排序。在我們的例子中,,這是包含單元格 A1 的范圍,。
, 第一列的排序次序。我們不使用這個(gè)參數(shù),,所以將其保留為空,。
, 按第二列進(jìn)行排序。我們不使用這個(gè)參數(shù),,所以將其保留為空,。
, 不用于腳本。將其保留為空。
, 第二列的排序次序,。我們不使用這個(gè)參數(shù),,所以將其保留為空。
, 按第三列進(jìn)行排序,。我們不使用這個(gè)參數(shù),,所以將其保留為空。
, 第三列的排序次序,。
1指示將要進(jìn)行排序的數(shù)據(jù)有標(biāo)題行,。
*************************************************
在稍后的代碼中,我們將舉例對(duì)兩個(gè)不同的列進(jìn)行排序,。
哦,,從 Active Directory 中提取數(shù)據(jù)
我們將要做的事情是編寫一個(gè)程序代碼來搜索 Active Directory 并提取每個(gè)用戶賬號(hào)的信息;然后,,我們使用這些信息來建立公司電話目錄,。注意,當(dāng)我向您展示用于搜索 Active Directory 的代碼時(shí),,我們將不會(huì)采用任何方式來討論這些代碼,;畢竟,這是一個(gè)關(guān)于 Excel 的話題,。(如果您想要獲得更多關(guān)于使用程序代碼來搜索 Active Directory 的信息,,您可以參考其它一些參考資料)
首先,讓我們來看一看下面這段代碼,,然后我們將對(duì)相關(guān)的部分做一些介紹:
*************************************************
Const ADS_SCOPE_SUBTREE = 2
Sub GetDataAD()
  Dim objExcel As Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Last name"
objExcel.Cells(1, 2).Value = "First name"
objExcel.Cells(1, 3).Value = "Department"
objExcel.Cells(1, 4).Value = "Phone number"
Dim objConnection, objCommand
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 100
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT givenName, SN, department, telephoneNumber FROM " _
& "'LDAP://dc=fabrikam,dc=microsoft,dc=com' WHERE " _
  & "objectCategory='user'"
Dim objRecordSet
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Dim x As Integer
x = 2
Do Until objRecordSet.EOF
objExcel.Cells(x, 1).Value = _
objRecordSet.Fields("SN").Value
objExcel.Cells(x, 2).Value = _
objRecordSet.Fields("givenName").Value
objExcel.Cells(x, 3).Value = _
objRecordSet.Fields("department").Value
objExcel.Cells(x, 4).Value = _
objRecordSet.Fields("telephoneNumber").Value
x = x + 1
objRecordSet.MoveNext
Loop
Dim objRange As Range
Set objRange = objExcel.Range("A1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit
Set objRange = objExcel.Range("B1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit
Set objRange = objExcel.Range("C1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit
Set objRange = objExcel.Range("D1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit
Set objRange = objExcel.Range("A1").SpecialCells(11)
Dim objRange2 As Range
Set objRange2 = objExcel.Range("C1")
Dim objRange3 As Range
Set objRange3 = objExcel.Range("A1")
objRange.Sort objRange2,,objRange3,,,,,1
End Sub
*************************************************
確實(shí),,這段代碼看起來 有點(diǎn)復(fù)雜。但實(shí)際上,,它非常簡單,。例如,看到了用斜體字顯示的代碼行了嗎,?嗯,,現(xiàn)在,我們完全可以忽略它們,。它們用于: 
1,、創(chuàng)建可見的 Excel 實(shí)例(您已經(jīng)知道如何去做了)。
2,、標(biāo)記四個(gè)用于輸出的列 (Last name,、First name、Department,、Phone number),。您也已經(jīng)知道如何去做了。
3,、搜索 fabrikam.com 域并檢索所有用戶賬號(hào)的 SN(姓或名),、givenName(名)、department 和 telephoneNumber 屬性,。如果您不知道如何去做,,可以參考其它相關(guān)資料。
事實(shí)上,,只有開始編寫這些用黑體字顯示的代碼行之后,,程序編寫才開始變得有趣:
*************************************************
x = 2
Do Until objRecordSet.EOF
  objExcel.Cells(x, 1).Value = _
objRecordSet.Fields("SN").Value
objExcel.Cells(x, 2).Value = _
  objRecordSet.Fields("givenName").Value
objExcel.Cells(x, 3).Value = _
objRecordSet.Fields("department").Value
  objExcel.Cells(x, 4).Value = _
objRecordSet.Fields("telephoneNumber").Value
x = x + 1
objRecordSet.MoveNext
Loop
*************************************************
這是我們從 Active Directory 中實(shí)際提取數(shù)據(jù)并將其顯示在 Excel 中的地方。為此,,我們首先將變量 x 的值設(shè)置為 2,。該變量指示電子表格中的當(dāng)前行。我們?yōu)槭裁磸牡诙虚_始而不從第一行開始呢,?其原因很簡單,,我們把列標(biāo)題放在了第一行。因此,,我們從第二行開始顯示數(shù)據(jù),。
接下來,我們創(chuàng)建一個(gè)循環(huán)來循環(huán)顯示返回記錄集中的所有記錄,。循環(huán)中的第一個(gè)命令是:
*************************************************
  objExcel.Cells(x, 1).Value = _
objRecordSet.Fields("SN").Value
*************************************************
這段代碼選擇第 2 行(用 x 表示)第 1 列,,并且將該值設(shè)置為 objRecordSet.Fields("SN")。這是記錄集中第一個(gè)用戶的 SN(姓),。然后,,腳本轉(zhuǎn)到第 2 行第 2 列,并且將該單元格的值設(shè)置為用戶的 givenName(名),。在為 department 和 telephoneNumber 執(zhí)行了相同的操作之后,,腳本將 x 增加 1(從而使 x = 3)。然后,,它循環(huán)處理記錄集中的下一個(gè)記錄,,并將數(shù)據(jù)顯示在第 3 行中。這樣繼續(xù)下去,,直到所有的用戶數(shù)據(jù)都添加到電子表格中為止,。
換句話說,就是您從Active Directory 中提取數(shù)據(jù)并將其顯示在 Excel 中,。您首先檢索數(shù)據(jù),,然后簡單地將指定單元格的值設(shè)置為從 Active Directory 中提取的值。通過使用簡單的 Do Loop 循環(huán)并將行號(hào)每次增 1,,您可以顯示記錄集中的每一項(xiàng)的信息,。就是這么簡單,!
腳本的剩余部分純粹就是點(diǎn)綴了。例如,,這段代碼將活動(dòng)范圍設(shè)置為單元格 A1,,選擇整個(gè)列,然后使用 Autofit 方法來重新設(shè)置該列的大小,,這樣所有的數(shù)據(jù)就都可以顯示在屏幕上,。該代碼然后對(duì)列 B、C 和 D 重復(fù)這個(gè)過程,。
*************************************************
Set objRange = objExcel.Range("A1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit
*************************************************
代碼的最后四行對(duì)所有的返回?cái)?shù)據(jù)進(jìn)行排序,,首先按部門名稱進(jìn)行排序,然后按姓進(jìn)行排序,。程序首先創(chuàng)建包含所有數(shù)據(jù)的范圍,,然后為單元格 C1(按第一列進(jìn)行排序)和單元格 A1(按第二列進(jìn)行排序)創(chuàng)建單獨(dú)的范圍。此時(shí),,程序調(diào)用 Sort 方法,,將單獨(dú)的范圍對(duì)象作為參數(shù)傳入。(相信我:這聽起來雖然有點(diǎn)復(fù)雜,,但是它真的非常簡單?。?nbsp;
如果您在填充了電子表格之后想要自動(dòng)保存它,該怎么做呢,?如果與這個(gè)例子的情況一樣,,就只要在腳本的末尾加上下面這段代碼就行了;這三行代碼將電子表格保存為 C:\Scripts\Phone_Directory.xls 并退出Excel 應(yīng)用程序:
*************************************************
Set objWorkbook = objExcel.ActiveWorkbook
objWorkbook.SaveAs("C:\Scripts\Phone_Directory.xls")
objExcel.Quit
*************************************************
如果不想退出Excel 實(shí)例,,只要不加上最后一行就可以了,。
記住,您并不限于顯示 Excel 中的 Active Directory 信息,。例如,,下面是一個(gè)非常簡單的 WMI 腳本程序,它檢索運(yùn)行在計(jì)算機(jī)上的所有服務(wù)的狀態(tài)和名稱,,然后將這些信息顯示在 Excel 中,。
*************************************************
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
x = 1
strComputer = "."
Set objWMIService = GetObject _
  ("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objWMIService.ExecQuery _
  ("Select * From Win32_Service")
For Each objService in colServices
objExcel.Cells(x, 1) = objService.Name
objExcel.Cells(x, 2) = objService.State
x = x + 1
Next

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多