@adam18644

Как скопировать открытый файл vba скриптом?

Блин ребят можете говорить сколько угодно, гугл в помощь читай документацию. но увы я все что нашел, все вариации перепробовал
в данном случае выдает ошибку 424
для примера вставил путь темп понимаю что всего скорее он неверно указан, но тест я проводил на ошибка точно такаяже

(ThisWorkbook.Path & "\doc.docm")
А вот собственно сам код
Sub WorkBook_open()

Set fso = CreateObject("Scripting.FileSystemObject")

Set File = fso.GetFile(ThisWorkbook.Path & "\doc.docm")
Set File = fso.Copy("%Temp%\d6c.docm")
End Sub


буду весьма благодарен если поможете в решении вопроса, а не начнете ссыпать оценночным мнением
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Akina
Сетевой и системный админ, SQL-программист.
Вот нафига было удалять предыдущую версию вопроса?

Ладно, повторю. У FileSystemObject нет метода Copy, он есть у объектов Folder и File. Следовательно,

Set File = fso.GetFile(ThisWorkbook.Path & "\doc.docm")
Set File = fso File.Copy("%Temp%\d6c.docm")

PS. Что такое "открытый файл", где, кем и вообще почему он открытый - так и не понял.
Ответ написан
@LuchS-lynx
инженер-ПТО
я макросом VBA в Excel делаю так
Dim Wd As Object, Wapp As Object 
            Let Shablon = ThisWorkbook.Path + "\Шаблоны аддонов\" + WorldShablonFileName
            Let ИмяФайла =  ThisWorkbook.Path + "\" + "Имя файла.docx"

            Rem -= копируем шаблон по новому пути =-
            Set Wapp = CreateObject("Word.Application"): AppWord.Visible = False
            Set Wd = Wapp.Documents.Open(Shablon, ReadOnly:=True)
                Wd.SaveAs Filename:=ИмяФайла, FileFormat:=wdFormatXMLDocument
                Wd.Close False: Set Wd = Nothing
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы