
VBS合并WORD文件報錯 求修改想用VBS 把學(xué)生通知 目錄下的所有DOCX文件合并為一個文件,靜默后臺處理,合并時不插入分頁符,每個文件之前插入一下回車符 最后提示是否打印合并后的文件 如果選擇是 則使用默認打印機打印文件 如選否 則打開合并后的文件但是下面代碼開始運行是就報錯了求老師 幫我改一下 謝謝合并后的文件.docx 想改為放在學(xué)生通知下nload="thumbImg(this)" alt="" />鏈接:https://pan.baidu.com/s/13ZmeeyayO0M6eDRlTPW9GQ?pwd=5vdw 提取碼:5vdw --來自百度網(wǎng)盤超級會員V10的分享
- Option Explicit
- Const strFolder = .學(xué)生通知
- Const strDocToMerge = .合并后的文件.docx
- Dim objWord, objDoc, objSelection
- Dim strFile, strDocName
- Dim objFSO, objFolder, objFiles
- Dim bDocOpened
- Set objFSO = CreateObject(scripting.FileSystemObject)
- If Not objFSO.FolderExists(strFolder) Then
- MsgBox 文件夾不存在: & strFolder, vbExclamation, 錯誤
- Wscript.Quit
- End If
- Set objFolder = objFSO.GetFolder(strFolder)
- Set objFiles = objFolder.Files
- Set objWord = CreateObject(Word.Application)
- objWord.Visible = False
- Set objDoc = objWord.documents.Add
- Set objSelection = objWord.Selection
- For Each strFile In objFiles
- strDocName = strFolder & & strFile.Name
- If LCase(objFSO.GetExtensionName(strFile.Name)) = docx Then
- If objFSO.FileExists(strDocName) Then
- On Error Resume Next
- Set bDocOpened = objWord.documents.Open(strDocName, ReadOnly:=True)
- If Err.Number <> 0 Then
- MsgBox 無法打開文件: & strDocName & vbCrLf & 錯誤: & Err.Description, vbExclamation, 錯誤
- Err.Clear
- On Error GoTo 0
- ' 不再使用 Continue For,而是直接跳到下一次循環(huán)
- Else
- On Error GoTo 0
- objSelection.WholeStory
- objSelection.Copy
- objDoc.Activate
- objSelection.Paste
- objSelection.TypeParagraph ' 插入回車符
- bDocOpened.Close False
- End If
- End If
- End If
- Next
- objDoc.SaveAs strDocToMerge
- objDoc.Close
- Dim intMsgBox
- intMsgBox = MsgBox(是否打印合并后的文件?, vbYesNo + vbQuestion, 打印文檔)
- If intMsgBox = vbYes Then
- Set objDoc = objWord.documents.Open(strDocToMerge)
- objDoc.PrintOut
- objDoc.Close
- Else
- objWord.Visible = True
- Set objDoc = objWord.documents.Open(strDocToMerge)
- End If
- Set objSelection = Nothing
- Set objDoc = Nothing
- Set objWord = Nothing
- Set objFiles = Nothing
- Set objFolder = Nothing
- Set objFSO = Nothing
- MsgBox 處理完成。, vbInformation, 完成
nclick="copycode($('code0'));">復(fù)制代碼