以下代码完成后,应该输入一个数字的用户输入(这里硬编码为50,并且不专注于特定的行 - 它不会输入数据);查找工作表中的特定行或行,复制word文档的空白模板,按特定顺序将该数据提供到word文档中,然后打印word文档。
下面的代码是,尝试使用excel将位于C:\ original \ path \ here的word文档复制到C:\ original \ path \那里。不幸的是,每次我尝试在Microsoft Excel中运行它时,Excel都会挂起,然后我必须重新启动它。
为什么?需要做什么? Microsoft Word对象库14在VBA编辑器中引用。
Sub UpdateActionsRows()
Dim userInput As Long
userInput = 50
' set up word application, document
Dim objWord As Word.Application
Dim objDoc As Document
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\original\path\here")
copyFile objDoc, userInput
objDoc.Close
objWord.Quit
End Sub
的CopyFile
Function copyFile(sourceFile As Document, inputRows As Long)
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Dim targetFile As String
targetFile = "C:\original\file\there.docx"
fso.copyFile sourceFile, targetFile
End Function
答案 0 :(得分:0)
尝试这样的事情:
Sub UpdateActionsRows()
Dim userInput As Long
userInput = 50
' set up word application, document
Dim objWord As Word.Application
Dim objDoc As Document
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\original\path\here")
objDoc.Close
FileCopy objDoc, "C:\original\path\there"
objWord.Quit
End Sub
我没有测试它,它可以写得更好,但希望有效。而作为@Wayne G. Dunn,错误是因为您正在尝试复制打开的文件。您可以在此处看到更多 - VBA to copy a file from one directory to another