帮忙写一个VBS读取Excel的内容,改文件名的批处理

作者&投稿:莫所 (若有异议请与网页底部的电邮联系)
如何用vbs批量修改多个Excel表里某个工作簿里的特定单元格内容?~

其实整体这个问题的思路很明了首先就是提取文件路径,然后禁止屏幕刷新等,再是做DO WHILE LOOP循环语句,打开每个文件进行修改最后保存、关闭修改文件代码如下:Sub 提取() Dim myPath, myFile myPath = ThisWorkbook.Path & "\" '给路径 myFile = Dir(myPath & "\*.xls") '提取一个文件名 Application.ScreenUpdating = False '关闭屏幕刷新 Application.DisplayAlerts = False '禁用所有事件 Do While myFile > "" '当文件名不为空循环 Workbooks.Open myPath & myFile '打开目录中的一个文件 ActiveWorkbook.Sheets("3-8喷射砼").Range("F31") = "C30" '激活表:3-8喷射砼,并修改F31单元格数据为:“C30” ActiveWorkbook.Save '保存打开的工作簿 ActiveWorkbook.Close '关闭打开的工作簿 myFile = Dir '再用dir函数提取一个文件名 Loop Application.DisplayAlerts = True Application.ScreenUpdating = TrueEnd Sub

已经测试过,通过了的。

望采纳,谢谢!

假设文件在D盘,“测试”文件夹下,在桌面新建一个工作簿,打开vbe窗体,插入模块,将代码复制进去:
Sub 工作表1改名()
Application.DisplayAlerts = False
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False
myPath = "D:\测试\"
myFile = Dir(myPath & "*.xls")
Do While myFile ""
Set AK = Workbooks.Open(myPath & myFile)
a = a + 100
ActiveWorkbook.Sheets(1).Name = a
ActiveWindow.Close (True)
myFile = Dir
Loop
Application.ScreenUpdating = True
End Sub

如下两种方法可供选择:bat批量处理和VBA。
  1、BAT批处理文件
  A. 获取文件名
  选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel
  B. 编辑命令符
  l 替换文件名前的路径(全部替换)
  l 生成如下字符(空格不可缺少): REN_原文件名_新文件名
  可以使用EXCEL公式批量处理:
  例如如下公式可将文件名前增加序列号1,2,3等。
  =CONCATENATE("REN","",A1," ",ROW(A1),A1)生成批处理文件
  C. 批处理
  l 文件夹内新建txt文件
  l 复制所有excel中编辑好的字符到txt文件中
  l 文件扩展名更改为bat,运行。

  2、VBA法
  alt+F11,复制如下代码到代码栏,F5运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Sub Rename_()
Dim my_Path, my_Doc As String

With Application.FileDialog(msoFileDialogFolderPicker) '定位文件夹
.Show
.AllowMultiSelect = False
my_Path = .SelectedItems(1)
End With

Dim i As Single
i = 1
my_Doc = Dir(my_Path & "\" & "*") '遍历所有文件
Do While Len(my_Doc) <> 0
Name my_Path & "\" & my_Doc As my_Path & "\" & i & my_Doc '更名:增加序号
i = i + 1
my_Doc = Dir
Loop

my_Doc = Dir(my_Path & "\" & "*")
i = 1
Do While Len(my_Doc) <> 0 '复制到excel
Cells(i, 1) = my_Doc
i = i + 1
my_Doc = Dir
Loop


VBS 批量读取并复制文本某段内容到新文本
Set objHTML=CreateObject("htmlfile")ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text")

求个VBS,请VBS高手帮个忙!
set sh=createobject("wscript.shell")dim a a=Hour(now()) '获得小时数 if a>16 and a<22 then '判断时间 sh.run "c:\\abc.exe" '如果是,则运行 wscript.sleep 5000 '等待5秒 sh.sendkeys "{F5}" '虚拟按键F5 wscript.sleep 500 '延时半秒 sh.sendkeys "% n" '...

高手帮我忙下:vbs编程自动复制mp3到尤盘
d=inputbox("请输入你要复制的mp3歌曲代码,比如:001002003","by:飘零")ss=inputbox("请输入目标位置","BY:飘零")Set objFile =FSO.OpenTextFile("d:\\list.txt", 2 , True)objFile.Write d objFile.Close Set objFile = nothing set fi=Fso.opentextfile("d:\\list.txt",1)n=fi.readal...

会编写vbs脚本的朋友帮个忙,我想用vbs写一个当检测到E盘有EXE文件时就...
'以下是结束vbs进程,用于停止检测,贴在另外一个vbs文件里就行了 Set a = GetObject("winmgmts:\\\\.\\root\\cimv2").execquery("select * from win32_process where name='wscript.exe'")For Each i In a i.Terminate Next

求bat或vbs脚本,批量打开网页!!
)set urlfile = fso.opentextfile("这里是保存网址的文本文件具体地址")url = urlfile.readall urlfile.close url = split(url,vbcrlf)set ws = createobject("wscript.shell")for each u in url ws.run u wscript.sleep 1000*5 next 差不多就这样吧,我也没测试,你试试行不行。

vbs 高手帮个忙
用按键精灵,支持大多数VBS代码。有个简单的截屏插件,可以设置循环间隔,每1分钟或30秒循环一次。只有用那个截屏插件才能实现。命令格式如下:Plugin Pic.PrintScreen(0, 0, 1024, 768, "C:\\PIC.bmp")如果你截全屏,而且分辨率是1024*768那这个例子的坐标就不用改了。文件名可以设置成变量,这样就...

怎么利用vbs来后台运行某个程序?
除非它有像QQ呼出聊天窗口一样的全局快捷键 ___p = "C:\\1.exe"CreateObject("WScript.Shell").Run """ & p & """, 0

vbs 调用 bat 传递参数,参数写在哪
objShell.Run "cmd \/c E:\\BSS_WORK\\系统平台\\发布工具\\ebpm_sc\\bpmhb.bat 参数1 参数2"

VBS 对话框 延时任务
Set sh = WScript.CreateObject("Wscript.Shell")intSelect = sh.Popup("点击N取消,不点击则30s后自动选Y",30,"延时对话框",4)If intSelect = 7 Then WScript.Quit End if 这段代码放在前面,把你实现睡眠的代码放在end if语句块后面。其实popup语句本身只是一个提示的作用,没有msgbox那种复杂...

求两个音量设置VBS脚本
给你个VB6代码做参考 Private Declare Function waveOutSetVolume Lib "Winmm" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer Private Sub Command1_Click()'设置到20%音量 waveOutSetVolume 0, &H33333333 End Sub Private Sub Command2_Click()'设置到90%音量 waveOutSetVolume...

新宁县14723964284: 帮忙写一个VBS读取Excel的内容,改文件名的批处理 -
博烁人参: 如下两种方法可供选择:bat批量处理和VBA.1、BAT批处理文件A. 获取文件名选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到ExcelB. 编辑命令符l 替换文件名前的路径(全部替换)l 生成如下字符(空格不可缺少): REN_...

新宁县14723964284: VBS如何获取EXCEL表里的数据? -
博烁人参: Set oexcel=CreateObject("excel.application") Set obook=oexcel.Workbooks.Open("c:\test\excel.xls") Set osheet=obook.Sheets("sheet1") '显示第一个工作表A1单元格数据msgbox osheet.cells(1,1) Set obook=Nothing Set osheet=Nothing oexcel.Quit

新宁县14723964284: VBS怎么读取EXCEL中工作表的数目 -
博烁人参: dim a as worksheet for each a in worksheets a.activate cells.select selection.copy workbooks.add cells.select activesheet.paste activeworkbook.saveas filename:= _ thisworkbook.path & "\" & a.name & ".xls", fileformat:=xlnormal, _ password:=...

新宁县14723964284: 如何使用VBS脚本程序读EXCEL文件,有没有具体流程? -
博烁人参: 如果是XP系统,可以使用如下代码 VBS控制Excel的一些常见方法: (一) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj: oExcel = CreateObject( "Excel.Application" ) 1) 添加新工作簿: oExcel.WorkBooks.Add 2) 打开已存在的...

新宁县14723964284: 使用vbs读写excel表格数据元素? -
博烁人参: 服务器端假定用asp. 如果asp,如下. <% set objexcel = createobject("excel.application") set wkbk=objjexcel.workbooks.open("你的excel文件路径+文件名") set sh=wkbk.sheets(1)'假定你的数据在第1个工作表中. response.write sh.cells(1,1).value '向网页输出第1个单元格的值. '注销所有对象 set sh=nothing wkbk.close set wkbk=nothing objexcel.quit set objexcel=nothing %>

新宁县14723964284: 使用vbs读写excel表格数据元素? -
博烁人参: dim xlApp,xlWorkBook,xlSheetdim iRowCount,iLoop,numAddset xlApp = CreateObject("Excel.Application")xlApp.Visible = falseset xlWorkBook = xlApp.Workbooks.Open("c:\data.xls")set xlSheet = xlWorkBook.Sheets("Sheet1")iRowCount ...

新宁县14723964284: VBS脚本,想要读取到windows系统的账号和excel里面的数据 -
博烁人参: set xlapp=getobject(,"excel.application")set xlbook=xlapp.workbooks("工作簿1") set xlsheet=xlbook.sheets("sheet1")msgbox xlsheet.range("a1")'''读取数据xlsheet.range("a1")=10000''''写数据xlbook.save'''未保存过用saveas 路径 这是保存xlbook.close true ''关闭工作簿1xlapp.quit '''退出excel

新宁县14723964284: VBS 环境下如何调用EXCEL内置函数 -
博烁人参: 前面加WorksheetFunction即可,例如 WorksheetFunction.VLOOKUP 不过有些是用不了的,你这三个我看了一下都是可以用的.

新宁县14723964284: vbs 打开指定路径EXCEL -
博烁人参: Set fso=CreateObject("scripting.Filesystemobject") dizi="D:\123\样品.xls" '原文件地址 riqi=CDate(FormatDateTime(Now(),2))-1 '当前日期减一天 mbdz="D:\样品记录\"&riqi&".xls" '目标地址 fso.CopyFile dizi,mbdz,True '复制文件,如果...

新宁县14723964284: 我想用VB编一个程序,能够提取EXCEL文件,然后对这个文件里面的东西进行排序,求大神帮忙. -
博烁人参: 读取文件数据,存入数组;按指定条件对数组排序;把数组元素输入Excel后保存.下面是VB操作Excel示例'工程-部件-引用Microsoft Excel 11.0 Object Library Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网