當前位置:編程學習大全網 - 編程語言 - 用vba實現word 文件的批量打印?

用vba實現word 文件的批量打印?

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文件", "*.doc", 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

' B可以替換的宏

' 以下是處理格式所錄制的宏,可根據所需錄制

Application.Run MacroName:="單個文件默認打印" '運行名為"單個文件默認打印"的宏,宏命令見後面

' 以上可以換成是妳自己錄制的宏,

'其中Application.Run MacroName:="單個文件默認打印"'運行名為"單個文件默認打印"的宏,根據需要錄制,自行命名

' C公***部分的代碼

ActiveDocument.Save '保存

ActiveWindow.Close '退出

Next

Application.ScreenUpdating = True

End With

MsgBox "操作完成,請查看!!", 64, "提示"

'Application.Quit '關閉並退出Word

End Sub

Sub 單個文件默認打印()

'

' 下面是按默認的打印錄制的宏,妳可以自己錄制。

'

'

Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _

wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _

ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _

False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _

PrintZoomPaperHeight:=0

End Sub

  • 上一篇:我需要做個電器庫存的EXCEL表格,每天要更新進銷存的,要有 品牌 型號,現有數量,庫存等
  • 下一篇:單身者的生活方式都有哪些?
  • copyright 2024編程學習大全網