ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 561|回复: 0

[求助] 找了一个对word文件批量操作的vb求助变成excl可以使用的

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-22 20:29 | 显示全部楼层 |阅读模式
Sub 批量对Word操作()
'  A.公共部分的代码
Application.ScreenUpdating = False        '冻结屏幕,以防屏幕抖动,这句好像没作用,窗口仍然会颤抖
Dim mydialog As FileDialog, GetStr(1 To 1000) As String    '1000是工作时的文档上限数,可因需修改,不知没有限制的命令怎样写?
On Error Resume Next
Set mydialog = Application.FileDialog(msoFileDialogFilePicker)
With mydialog
    .Title = "请选择要处理的文档(可多选)"
    .Filters.Clear '过滤掉筛选器中的所有文件类型,然后现在下面用filters.add加上word类型
    .Filters.Add "所有WORD文件", "*.xls", 3
    .AllowMultiSelect = True 'true表示允许多选,如果需要单选,请用false
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
        GetStr(i) = stiSelectedItem
        i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    For j = 1 To i Step 1
        Set Doc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
' B可以替换的宏
' 以下是处理格式所录制的宏,可根据所需录制
    Application.Run MacroName:="宏1" '运行名为"单个文件默认打印"的宏,宏命令见后面
' 以上可以换成是你自己录制的宏,
'其中Application.Run MacroName:="单个文件默认打印"'运行名为"单个文件默认打印"的宏,根据需要录制,自行命名

' C公共部分的代码
        ActiveDocument.Save '保存
       ActiveWindow.Close '退出
     Next
    Application.ScreenUpdating = True
    End With
MsgBox "操作完成,请查看!!", 64, "提示"
      'Application.Quit '关闭并退出Word
End Sub

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 16:01 , Processed in 0.015849 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表