VBA для копирования файлов SolidWorks в центральную папку - PullRequest
0 голосов
/ 26 февраля 2019

Доброе утро, мой коллега попросил меня взглянуть на его VBA для Solidworks, и я озадачен тем, в чем проблема.По сути, он просматривает старые чертежи SolidWorks, чтобы найти те, которые имеют отношение к новому проекту, над которым он работает.Если он находит тот, который подходит, он использует макрос, чтобы сделать копию этого чертежа, переместить его в папку для нового проекта, закрыть старый файл и открыть новый.Макрос выглядит следующим образом:

Sub Move_Copy()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set FSO = VBA.CreateObject("Scripting.FileSystemObject")

'Where the Copy Files are going
DestinationFolder = "\\SERVER\FOLDER\subfolder"

'Gets full path name of current file that is open
MyPath = swModel.GetPathName

'Gets File Name with extension
CurrentOpenFile = Mid(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") + 1)
'This copies the file and moves it
Call FSO.CopyFile(MyPath, DestinationFolder & CurrentOpenFile, True)

'This Closes the Current Document
swApp.QuitDoc CurrentOpenFile

'This opens the moved file
swApp.OpenDoc6 DestinationFolder & CurrentOpenFile, swDocDRAWING, swOpenDocOptions_Silent, "", ERRORS, WARNINGS

End Sub

Строка, вызывающая у него ошибку:

Call FSO.CopyFile(MyPath, DestinationFolder & CurrentOpenFile, True)

Есть идеи?Спасибо

1 Ответ

0 голосов
/ 08 марта 2019

bFailIfExists, если последний параметр CopyFile.

Если этот параметр равен TRUE и новый файл, указанный в lpNewFileName, уже существует, функция завершается ошибкой.Если этот параметр имеет значение ЛОЖЬ, а новый файл уже существует, функция перезаписывает существующий файл и завершается успешно.

Источник

Это возможно.Также проверьте, действительно ли DestinationFolder & CurrentOpenFile.

...