Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开文件夹中的所有word文档,然后将内容复制并粘贴回excel_Excel_Vba - Fatal编程技术网

打开文件夹中的所有word文档,然后将内容复制并粘贴回excel

打开文件夹中的所有word文档,然后将内容复制并粘贴回excel,excel,vba,Excel,Vba,我尝试过两种版本的代码,它们略有不同,但不幸的是两者都不起作用。我需要一些帮助,弄清楚为什么以及如何做我需要做的事情,谢谢 第一段代码以某种方式立即结束循环,并且不符合初始条件表达式,尽管我不确定为什么,因为它应该调用该文件夹中的所有.docx文件 代码的第二位抛出一个错误,该行设置为wApp.Visible=True时属性的使用无效,我不知道为什么 第一版 Dim folder As String Dim doc As Document folder = "G:\GAV\Educationa

我尝试过两种版本的代码,它们略有不同,但不幸的是两者都不起作用。我需要一些帮助,弄清楚为什么以及如何做我需要做的事情,谢谢

第一段代码以某种方式立即结束循环,并且不符合初始条件表达式,尽管我不确定为什么,因为它应该调用该文件夹中的所有.docx文件

代码的第二位抛出一个错误,该行设置为wApp.Visible=True时属性的使用无效,我不知道为什么

第一版

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