打开文件夹中的所有word文档,然后将内容复制并粘贴回excel
我尝试过两种版本的代码,它们略有不同,但不幸的是两者都不起作用。我需要一些帮助,弄清楚为什么以及如何做我需要做的事情,谢谢 第一段代码以某种方式立即结束循环,并且不符合初始条件表达式,尽管我不确定为什么,因为它应该调用该文件夹中的所有.docx文件 代码的第二位抛出一个错误,该行设置为wApp.Visible=True时属性的使用无效,我不知道为什么 第一版打开文件夹中的所有word文档,然后将内容复制并粘贴回excel,excel,vba,Excel,Vba,我尝试过两种版本的代码,它们略有不同,但不幸的是两者都不起作用。我需要一些帮助,弄清楚为什么以及如何做我需要做的事情,谢谢 第一段代码以某种方式立即结束循环,并且不符合初始条件表达式,尽管我不确定为什么,因为它应该调用该文件夹中的所有.docx文件 代码的第二位抛出一个错误,该行设置为wApp.Visible=True时属性的使用无效,我不知道为什么 第一版 Dim folder As String Dim doc As Document folder = "G:\GAV\Educationa
Dim folder As String
Dim doc As Document
folder = "G:\GAV\Educational On Assignment Folder\On Assignment Tour Reports\2019\On Tour Questionnaire"
file = Dir(folder & "*.dox*")
r = 1
Do While Len(file) < 0
Set doc = Documents.Open(Filename:=folder & file)
ActiveDocument.Selection.WholeStory
Selection.Copy
Workbooks("Reports Excel").Activate
Cells(1, r).Paste
doc.Close
r = r + 1
file = Dire
Loop
我需要Excel打开文件夹中的每个文件,复制其全部内容并粘贴到Excel中的一列。应该很简单“*.dox*”-想不出任何与之匹配的Word文件扩展名。您的意思是“*.doc*”?wApp.Visible失败,因为实际上没有任何内容。您从未打开Word的新实例<代码>设置wApp=New Word.Application该死!我查了10遍这个词!是的,这就是我的意思。谢谢你们两个,因为这两个补丁都不适用于各自的代码。与我之前描述的情况相同,为什么要检查文件名的长度在第一个版本中是否小于0
Do While Len(文件)<0
“*.dox*”-想不出任何与之匹配的Word文件扩展名。您的意思是“*.doc*”?wApp.Visible失败,因为实际上没有任何内容。您从未打开Word的新实例<代码>设置wApp=New Word.Application该死!我查了10遍这个词!是的,这就是我的意思。谢谢你们两个,因为这两个补丁都不适用于各自的代码。与我之前描述的情况相同,为什么要检查文件名的长度在第一个版本中是否小于0<代码>边做边读(文件)<0
Dim wApp As Word.Application
Dim wDoc As Word.Document
Dim mySource As Object
Set obj = CreateObject("Scripting.FileSystemObject")
Set mySource = obj.getfolder("G:\GAV\Educational On Assignment Folder\On Assignment Tour Reports\2019\On Tour Questionnaire")
For Each file In mySource.Files(Word.Application)
If Len(file.Name) > 0 And InStr(1, file.Name, "$") = 0 Then
Set wApp.Visible = True
Set wDoc = wApp.Documents.Open(muSource & "\" & file.Name, , ReadOnly)
ActiveDocument.Selection.WholeStory
Selection.Copy
Workbooks("Reports Excel").Activate
Cells(1, r).Paste
doc.Close
r = r + 1
wApp.Quit
Set wApp = Nothing
End If
Next file