Помогите пожалуйста в такой вопросе. Как обработать файлы, пути к которым указаны в listbox в скрытом втором столбце?
Например, как обработать их в приведенном ниже макросе ?
Спойлер
Sub MergeDocuments()
Dim doc As Document, MyPath As String, MyName As String
Application.ScreenUpdating = False
MyPath = "C:\Users\User\Desktop\Новая папка"
MyName = Dir(MyPath & "\" & "*.doc*")
Do While MyName <> ""
If MyName <> ActiveDocument.Name Then
Set doc = Documents.Open(MyPath & "\" & MyName)
Selection.WholeStory
Selection.Copy
Windows(1).Activate
Selection.EndKey Unit:=wdLine
Selection.TypeParagraph
Selection.Paste
doc.Close False
End If
MyName = Dir
Loop
Application.ScreenUpdating = True
End Sub
Кнопки для запуска макроса я не делал, я запускал форму из VBA.
Код
Private Sub UserForm_Initialize()
Dim MyPath As String, MyName As String
' Запись в листбокс полных имён и имён ворд-файлов.
MyPath = "C:\Users\User\Desktop\Новая папка"
MyName = Dir(MyPath & "\" & "*.doc*")
Do While MyName <> ""
Me.ListBox1.AddItem MyName
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = MyPath & "\" & MyName
MyName = Dir
Loop
End Sub
Private Sub CommandButton2_Click()
' Обработка файлов, которые записаны в листбокс.
MergeDocuments
End Sub
Private Sub MergeDocuments()
' Обработка файлов, которые записаны в листбокс.
Dim doc As Document
Dim i As Long
Application.ScreenUpdating = False
For i = 0 To Me.ListBox1.ListCount - 1
Set doc = Documents.Open(Me.ListBox1.List(i, 1))
Selection.WholeStory
Selection.Copy
Windows(1).Activate
Selection.EndKey Unit:=wdLine
Selection.TypeParagraph
Selection.Paste
doc.Close False
Next i
Application.ScreenUpdating = True
End Sub
[вложение удалено администратором]
Большое спасибо!
В итоге файлы все копируются в первый открытый документ. А можно подправить, чтобы они копировались в новый документ?
Этот вопрос не имеет отношения к этой теме. Поэтому создайте новую тему.
Можете приложить в новой теме код из вашего первого сообщения.