|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub 批量对Word操作()
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 "所有文件", "*.*", 1
.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
Doc.Open.PrintOut Range:=wdPrintFromTo, From:=2, To:=2(这一句代码是打印文档指定页语句,为什么不执行?要怎样改才正确执行,求老师们指正!)
ActiveDocument.Save '保存
ActiveWindow.Close '退出
Next
Application.ScreenUpdating = True
End With
MsgBox "操作完成,请查看!!", 64, "提示"
'Application.Quit '关闭并退出Word
End Sub |
|