Sub WorkBook_open()
Dim Wd As Object, Wapp As Object
Let Shablon = ThisWorkbook.Path + "\" + "doc.docm"
Let doc = "C:\%temp%\test2.docx"
Set Wapp = CreateObject("Word.Application"): AppWord.Visible = False
Set Wd = Wapp.Documents.Open(Shablon, ReadOnly:=True)
Wd.SaveAs FileName:=doc, FileFormat:=wdFormatXMLDocument
Wd.Close False: Set Wd = Nothing
End Sub
Sub WorkBook_open()
Dim Wd As Object, Wapp As Object
Let Shablon = ThisWorkbook.Path + "\doc.docm"
Let doc = "C:\%temp%\test2.docx"
Set Wapp = CreateObject("Word.Application"): AppWord.Visible = False
Set Wd = Wapp.Documents.Open(Shablon, ReadOnly:=True)
Wd.SaveAs FileName:=doc, FileFormat:=wdFormatXMLDocument
Wd.Close False: Set Wd = Nothing
End Sub
@LuchS-lynx, Sub WorkBook_open()
Dim Wd As Object, Wapp As Object
Let Shablon = ThisWorkbook.Path + WorldShablonFileName
Let doc = ThisWorkbook.Path + "\" + "doc.docm"
Rem
Set Wapp = CreateObject("Word.Application"): AppWord.Visible = False
Set Wd = Wapp.Documents.Open(Shablon, ReadOnly:=True)
Wd.SaveAs FileName:=C:\%temp%\doc.docm" , FileFormat:=wdFormatXMLDocument
Wd.Close False: Set Wd = Nothing
End Sub
Sub WorkBook_open()
Dim Wd As Object, Wapp As Object
Let Shablon = ThisWorkbook.Path + WorldShablonFileName
Let doc = ThisWorkbook.Path + "\" + "doc.docm"
Rem
Set Wapp = CreateObject("Word.Application"): AppWord.Visible = False
Set Wd = Wapp.Documents.Open(Shablon, ReadOnly:=True)
Wd.SaveAs FileName:=doc, FileFormat:=wdFormatXMLDocument
Wd.Close False: Set Wd = Nothing
End Sub
rPman @rPman
зачем ты создаешь себе проблему, по умолчанию обычно файлы открываются с режимом блокировки на чтение запись, нормальные языки программирования позволяют управлять этими флагами
сначала закрой файл, потом копируй
Написано час назад
НравитсяОтветить
adam18644 @adam18644 Автор вопроса
rPman, незачем. это офис он создает дубликат и только его блокирует. поэтому должно сработать, хоть я и не художник, но я так вижу
так а если я пропишу закрытие файла он по факту не закроется?
Написано час назад
НравитсяОтветить
Akina @Akina
Бред сивой кобылы, а не код.
FileSystemObject не имеет метода Copy - такой метод есть у объектов File и Folder. Так что просто надо следжить за руками...
Написано час назад
НравитсяОтветить
adam18644 @adam18644 Автор вопроса
rPman, хотя ты прав
Sub FileCopy_Example2()
Dim SourcePath As String
Dim DestinationPath As String
SourcePath = "C:\Users\admin\Desktop\doc.docm"
DestinationPath = "C:\Users\admin\Documents\doc.docm"
FileCopy SourcePath, DestinationPath
End Sub
c этим кодом уже точно беда пишет ошибка доступаа
ну этот вариант мне не подходит, так как как ты уже понял мне нужно скопировать файл где бы он не находился. если тебе не сложно мог бы ты приложить свою вариацию данного кода
Написано час назад
НравитсяОтветить
adam18644 @adam18644 Автор вопроса
adam18644, так я все таки в чем то был прав при открытии файл делает свою копию ~$ с таким прилогающим и ее уже можно скопировать
Написано час назад
НравитсяОтветить
adam18644 @adam18644 Автор вопроса
Akina, тыкни носом пожалуйста. совсем дубень, ну не понимаю что дописать...
Написано 46 минут назад
НравитсяОтветить
adam18644 @adam18644 Автор вопроса
Akina,
Sub test()
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "ThisWorkbook.Path & "\doc.docm", "C:\users\admin\documents", 0
End Sub
так вообще синтаксическая ошибка а мне нужно доставать из папки
Написано 37 минут назад
Sub Manip_Files()
Dim sWrb
Dim SourcePath As String
Dim DestinationPath As String
sWrb = (ThisWorkbook.Path & "\doc.docm")
SourcePath = "sWrb"
DestinationPath = "C:\Users\admin\Documents\doc.docm"
FileCopy SourcePath, DestinationPath
End Sub
Sub FileCopy_Example2()
Dim SourcePath As String
Dim DestinationPath As String
SourcePath = "C:\Users\admin\Desktop\~$doc.docm"
DestinationPath = "C:\Users\admin\Documents\doc.docm"
FileCopy SourcePath, DestinationPath
End Sub