VBA как открыть / сохранить / закрыть файл с расширением из одной папки - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно написать скрипт VBA, в котором мне нужно перейти в одну папку и открыть файл с определенным расширением (txt), сохранить без внесения каких-либо изменений и затем закрыть файл.

Он должен зациклитьсяпапку и откройте, сохраните, закройте все файлы с расширением TXT.

Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "U:\test"

Set objFolder = objFSO.GetFolder(objStartFolder)
Wscript.Echo objFolder.Path

Set colFiles = objFolder.Files

For Each objFile in colFiles
    If UCase(objFSO.GetExtensionName(objFile.name)) ="txt" Then
        colFiles.Activate
        colFiles.save
        colFiles.closedoc
    End If
Next

Пожалуйста, помогите

1 Ответ

0 голосов
/ 26 октября 2018

если я понял ваш вопрос, вам нужен этот код:

Dim MyFolder As String
Dim MyFile As String
MyFolder = "U:\test" //path

MyFile = Dir(MyFolder & "\*.txt") //get all file with extension .txt

Do While MyFile <> "" 
Workbooks.Open Filename:=MyFolder & "\" & MyFile  //open file *.txt
Workbooks(MyFile).Close SaveChanges:=True //close file and save 
MyFile = Dir //next file *.txt
Loop

Я попробовал этот код и работает нормально.

Надеюсь, это поможет вам.

РЕДАКТИРОВАТЬ сообщение: попробуйте это, скопируйте и вставьте только в вашем макромодуле

Sub controlFile()

Dim MyFolder As String
Dim MyFile As String
MyFolder = "U:\test" 'path

MyFile = Dir(MyFolder & "\*.txt") 'get all file with extension .txt

Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile  'open file *.txt
Workbooks(MyFile).Close SaveChanges:=True 'close file and save
MyFile = Dir 'next file *.txt
Loop

End Sub

Держите меня в курсе .. (я использовал офис 2013 и 2007 на owindows 10 и макрос работает нормально). Я ничего не получаюошибка.При выполнении макроса используйте кнопку f8 для выполнения одной строки кода за раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...