vbs 合并多個(gè)excel文件的腳本
更新時(shí)間:2009年11月13日 23:29:39 作者:
費(fèi)了不少時(shí)間,但總算搞定了,試一下,如果excel文件多于一行,還需要稍微修改一下.
復(fù)制代碼 代碼如下:
Const xlWorkbookNormal = -4143
Const xlSaveChanges = 1
objStartFolder = "c:\test" '要讀取的源文件目錄
desExcel= "c:\result1.xls" '最后生成的匯總excel
Set ExcelApp = CreateObject("Excel.Application")
Set destbook = ExcelApp.Workbooks.Add '創(chuàng)建空文件
Set objFSO = CreateObject("Scripting.FileSystemObject")'建立filesystemobject
Set objFolder = objFSO.GetFolder(objStartFolder)'獲取文件夾
Set colFiles = objFolder.Files '獲得源目錄下所有文件
intRow=1 '行數(shù)
For Each objFile in colFiles '依次處理文件夾中的文件
If UCase(Right(Trim(objFile.Name), 3)) ="XLS" Then '只處理xls文件
Set srcbook = ExcelApp.Workbooks.Open(objStartFolder + "\" + objFile.Name) '打開xls文件
'srcbook.Worksheets(1).Copy destbook.Worksheets(1)
srcbook.activate
intCol = 1 '列數(shù)
Do Until ExcelApp.Cells(1,intCol).Value = ""
tempdata=ExcelApp.Cells(1, intCol).Value
destbook.activate
ExcelApp.Cells(intRow, intCol).Value=tempdata
srcbook.activate
intCol = intCol + 1
Loop
srcbook.Close '關(guān)閉已經(jīng)打開的xls文件
End If
intRow=intRow+1
Next
destBook.SaveAs desExcel,xlWorkbookNormal
destBook.close xlSaveChanges
ExcelApp.quit
這個(gè)方法OK
在存放文件的目錄之外打開一個(gè)空的Excel文檔
運(yùn)行下面分宏:(注意文件目錄)
復(fù)制代碼 代碼如下:
Sub cfl()
Dim fs, f, f1, fc, s, x
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("e:\test\") '存放文件的目錄
Set fc = f.Files
For Each f1 In fc
If Right(f1.Name, 3) = "xls" Then
x = x + 1
Workbooks.Open (f1.Path)
For i = 1 To 255
Workbooks(1).Sheets(1).Cells(x, i).Value = _
Workbooks(2).Sheets(1).Cells(1, i).Value
Next
Workbooks(2).Close savechanges:=False
End If
Next
End Sub
相關(guān)文章
顯示運(yùn)行對(duì)話框內(nèi)保存的命令歷史的vbs
這段代碼可以獲取曾經(jīng)在運(yùn)行對(duì)話框中的,我們之前輸入的命令歷史2008-10-10
VBScript開發(fā)自動(dòng)化測(cè)試腳本的方法分析
很多人都覺得微軟的VBScript功能比較弱,如果從開發(fā)自動(dòng)化測(cè)試的角度來講,更是不可能了。從我對(duì)VBScript腳本的了解來看,對(duì)一個(gè)腳本是否可以做自動(dòng)化測(cè)試需要這個(gè)測(cè)試人員具備兩方面的知識(shí),第一個(gè),就是對(duì)VBScript腳本開發(fā)語言精通,要了解VBScript的核心技術(shù)如何更廣泛的應(yīng)用;第二個(gè),就是要有自動(dòng)化的測(cè)試思想,這個(gè)一定得是做過測(cè)試工作的能夠了解的多一些。2008-03-03
讓IIS建立的站點(diǎn)默認(rèn)是.net 2.0的,而不是.net 1.1的代碼
讓IIS建立的站點(diǎn)默認(rèn)是.net 2.0的,而不是.net 1.1的,沒有使用WMI,所以在操作前先得停止IIS相關(guān)服務(wù)2008-07-07
VBS 十六進(jìn)制異或加密實(shí)現(xiàn)代碼
文件不要過大,最好不要超過 100 KB,密鑰不要用數(shù)字,不想改了。理論上支持任何二進(jìn)制文件格式2013-07-07
VBS基礎(chǔ)篇 vbscript Sendkeys模擬鍵盤操作
在vbscript中我們可以object.SendKeys模擬鍵盤操作,將一個(gè)或多個(gè)按鍵指令發(fā)送到指定Windows窗口來控制應(yīng)用程序運(yùn)行,,需要的朋友可以參考下2018-06-06
VBS基礎(chǔ)篇 - FileSystemObject對(duì)象詳解
文件系統(tǒng)是所有操作系統(tǒng)最重要的部分之一,腳本經(jīng)常會(huì)需要對(duì)文件及文件夾進(jìn)行訪問和管理,在Vbs中對(duì)桌面和文件系統(tǒng)進(jìn)行訪問的頂級(jí)對(duì)象是FileSystemObject,需要的朋友可以參考下2018-05-05
vbscript語句中“&H”專用于16進(jìn)制數(shù)表示
近段時(shí)間在做一個(gè)asp的項(xiàng)目,由于數(shù)據(jù)庫里面的字段采用字母“h”開頭,在sql語言時(shí)就出現(xiàn)了莫名其妙的錯(cuò)誤,經(jīng)過反復(fù)的檢查,也沒查出有錯(cuò)誤的地方,整整給折騰了我一天的時(shí)間。2009-08-08

