摘要:VBS - 取得 Excel 檔中的 Sheet 清單
如標題所示,這個功能主要是擷取 Excel 檔的 Sheet 清單,會這樣做的原因很簡單,因為我們要產生一些檔案,來加快專案開發的速度,以下就來實做唄...
步驟一:建立一個 Excel 檔案,並且建立一些資料
步驟二:建立一個取得 Excel 檔中的 Sheet 清單的VBS
Code:
DIM OBJXL, OBJWB, OBJWS
DIM EXCELFILEPATH, INTROW, WORKSHEETNAME, STRMSG
EXCELFILEPATH = "D:\EXCEL_SAMPLE.XLS"
SET OBJXL = CREATEOBJECT("EXCEL.APPLICATION")
SET OBJWB = OBJXL.WORKBOOKS.OPEN(EXCELFILEPATH)
STRMSG = ""
INTROW = 1
FOR EACH I IN OBJXL.ACTIVEWORKBOOK.WORKSHEETS
WSCRIPT.ECHO I.NAME
NEXT
OBJWB.CLOSE
OBJXL.QUIT
結果:
步驟三:來加個工,除了讀取 Sheet 清單外,再來讀取各個 Sheet 中的內容
Code:
DIM OBJXL, OBJWB, OBJWS
DIM EXCELFILEPATH, INTROW, WORKSHEETNAME, STRMSG
EXCELFILEPATH = "D:\EXCEL_SAMPLE.XLS"
SET OBJXL = CREATEOBJECT("EXCEL.APPLICATION")
SET OBJWB = OBJXL.WORKBOOKS.OPEN(EXCELFILEPATH)
STRMSG = ""
INTROW = 1
FOR EACH I IN OBJXL.ACTIVEWORKBOOK.WORKSHEETS
WORKSHEETNAME = I.NAME
SET OBJWS = OBJXL.ACTIVEWORKBOOK.WORKSHEETS(I.NAME)
DO UNTIL OBJWS.CELLS(INTROW, 1).VALUE = ""
IF IsEmpty(STRMSG) THEN
STRMSG = OBJWS.CELLS(INTROW, 1).VALUE & ":" & OBJWS.CELLS(INTROW, 2).VALUE
ELSE
STRMSG = STRMSG & vbcrlf & OBJWS.CELLS(INTROW, 1).VALUE & ":" & OBJWS.CELLS(INTROW, 2).VALUE
END IF
INTROW = INTROW + 1
LOOP
WSCRIPT.ECHO I.NAME & vbcrlf & STRMSG
STRMSG = ""
INTROW = 1
NEXT
OBJWB.CLOSE
OBJXL.QUIT
結果: