У меня есть несколько каталогов файлов (shell, Perl и SQL), которые я использую для создания книг и создания баз данных. То, что я пытаюсь сделать, это взять каталог и создать документ Word, который следует надеяться выглядеть:Создайте документ слова из каталога
(Heading-2) file-name (no spacing) the filecontents (page break).
Repeat until done.
Что я получаю с кодом, который я в основном повторно используется ниже
(Heading 2) file name (Heading 2) next file name (until end of directory)
последовали по содержимому файлов. Что мне нужно сделать, чтобы сделать эту работу, как я хочу?
Sub DirLoop()
Dim MyFile As String, Sep As String, OFolder As String
Dim wdDoc As Document
Dim txtFiles As Document
' Sets up the variable "MyFile" to be each file in the directory
' This example looks for all the files that have an .xls extension.
' This can be changed to whatever extension is needed. Also, this
' macro searches the current directory. This can be changed to any
' directory.
Sep = Application.PathSeparator
OFolder = openFolder
Sep = "\"
' Look for the right type of file.....
MyFile = Dir(OFolder & Sep & "*.sh")
Set wdDoc = ActiveDocument
' Starts the loop, which will continue until there are no more files
' found.
Do While MyFile <> ""
' Get the directory
Set txtFiles = Documents.Open(FileName:=OFolder & "\" & MyFile, AddToRecentFiles:=False, Visible:=False, ConfirmConversions:=False)
Selection.InsertBreak (wdPageBreak)
Selection.Style = ActiveDocument.Styles("Heading 2")
Selection.TypeText Text:=MyFile & vbCr
Selection.Style = ActiveDocument.Styles("No Spacing")
wdDoc.Range.InsertAfter txtFiles.Range.Text & vbCr
txtFiles.Close SaveChanges:=False
MyFile = Dir()
Loop
End Sub
Я сделал некоторые улучшения в макет вашего вопроса на уточнить, каков фактический вопрос. Отступы вашего кода кажутся повсюду, хотя, и я не достаточно знаком с vba, чтобы узнать, что для этого является стандартом отступов дефакто. Вам придется это исправить. – Sumurai8