VBS遍历Excel工作表的实现代码(vba遍历)这都可以

随心笔谈2年前发布 admin
210 0 0

文章摘要

文章介绍了使用VBScript自动化处理Excel文件的操作方法,主要涉及以下内容: 1. **拖拽文件获取路径**:通过VBScript获取拖拽文件的路径,并显示提示消息。 2. **遍历工作簿和工作表**:定义Excel对象、工作薄和工作表对象,遍历工作簿中的所有工作表,并对每个工作表进行操作(如激活并填写内容)。 3. **读取Excel文件内容**:通过VBS脚本读取指定Excel文件中的数据,并将内容存储在数组中。 4. **提示输出功能**:逐个读取数组中的数据,并通过提示框显示,提示框每隔1秒自动关闭。 5. **打包代码下载**:提供代码打包功能,方便用户下载并使用。 文章内容简明扼要,重点突出如何利用VBScript实现Excel文件的自动化操作和数据读取功能。



核心代码

‘******************************************
‘拖拽文件,获取文件路径
‘******************************************
If wscript.Arguments.count=0 then
msgbox “拖拽文件到本图标”,0,”提示”
End if

for a=0 to wscript.Arguments.count-1

strPath=wscript.Arguments(a)

next
‘******************************************
‘定义Excle对象、工作薄对象、工作表对象
‘******************************************
dim oExcel,oWb,oSheet

set ws=WScript.createobject(“wscript.shell”)
Set oExcel=CreateObject(“Excel.Application”)
‘打开指定的工作簿
Set oWb=oExcel.Workbooks.Open(strPath)
‘显示打开的Excel工作簿
oExcel.visible=true
‘******************************************
‘遍历工作簿的所有工作表
‘******************************************
for j=1 to oWb.sheets.count
set oSheet=oWb.Sheets(j)
‘选中并激活工作表
oSheet.Activate
oSheet.Range(“A1″)=”成功”

next

 Excel遍历所有工作簿中所有工作表执行宏

Sub test()
n=Worksheets.Count
For i=1 To n
Worksheets(i).Activate
Macro1
Next
End Sub

 Macro1是宏的名称

 使用VBS遍历EXCEL

Dim xlApp,xlSheet,xlWorkBookDim iRowCount,iLoop,jLoop,jColumnCount,numAdd
Set xlApp=CreateObject(“Excel.Application”)
xlApp.Visible=True
Set xlWorkBook=xlApp.Workbooks.Open(“C:\data.xls”)
Set xlSheet=xlWorkBook.Sheets(“Sheet1”)
iRowCount=xlSheet.UsedRange.Rows.Count
jColumnCount=xlSheet.UsedRange.Columns.Count
For iLoop=1 To iRowCount
For jLoop=1 To jColumnCount
MsgBox(xlSheet.cells(iLoop,jLoop).value)
Next
Next

xlWorkBook.Save
xlWorkBook.Close
xlApp.Quit

VBScript 编写 自动Excel文件内容到数组并提示输出

解压到任意目录,点击VBS文件执行,程序自动读取文件所在目录的Excel文件到数组中,并通过提示框逐个输出,提示框1s自动关闭。

Dim oExcel,oWb,oSheet
Set oExcel=CreateObject(“Excel.Application”)
Set oWb=oExcel.Workbooks.Open(dir&”\DataReport.xls”)
Set oSheet=oWb.Sheets(“HistoryData”)

Dim i
Dim a(150)

For i=5 To 145 ‘145-5+1=141
a(i-5)=oSheet.Range(“B”&i).Value
print “data=”,a(i-5)
next

Set oSheet=Nothing

oExcel.Workbooks.Close

oExcel.Quit ‘关闭excel.exe’

Function Dir()

Set WshShell=CreateObject(“Wscript.Shell”)

Dir=WshShell.CurrentDirectory

End Function

Function print (prompt,title)
Set WshShell=CreateObject(“Wscript.Shell”)
WshShell.Popup prompt &title,1,””
End Function

为了方便学习特将代码打包提供下载 下载地址

© 版权声明

相关文章