Причем тут лицензионное соглашение?
В код программы я внести изменение не могу и при желании.
Вы были правы на счет блокировки файла.
Код макроса стал выглядить следующим образом
If getOSVer > 5 Then
Filename = Application.ActiveWorkbook.Path + "\" + "Копия_" + Application.ActiveWorkbook.NAME
Application.ActiveWorkbook.SaveAs (Filename)
Set FSO = CreateObject("Scripting.FileSystemObject")
Filename1 = Replace(Filename, "Копия_", "")
On Error Resume Next
FSO.CopyFile Filename, Filename1, 1
Else
Application.ActiveWorkbook.Save
Filename1 = Application.ActiveWorkbook.Path + "\" + Application.ActiveWorkbook.NAME
End If
Set Files = Document.Properties("FILES").AsIDispatch
If Not Files Is Nothing Then
Application.ActiveWorkbook.Save
Call Files.AddFileEx(Filename1, 1, -1)
End If
Set Files = Nothing
If getOSVer > 5 Then
On Error Resume Next
FSO.DeleteFile Filename, 1
Set FSO = Nothing
End If
А как на счет бесконечного требования сервера лицензий. Саму программу «TechnologiCS» могу запустить много раз, и при этом не требуется ввод место нахождения сервера.
А вот этот макрос требует
Sub Workbook_Open()
On Error Resume Next
Set TCS = Nothing
On Error Resume Next
Set TCS = CreateObject("CSDN.TCS")
On Error Resume Next
Set TCSApp = TCS.LoginCurrent
If Err.Number <> 0 Then
If (Err.Number = -2147418113) Or (Mid(Err.Description, "cоединение")) Then
On Error Resume Next
Set TCSApp = TCS.Login
If TCSApp Is Nothing Then
MsgBox ("Ошибка при соединении с TCS!")
FlagConnect = False
Exit Sub
End If
End If
End If
On Error Resume Next
If FlagConnect Then Application.Caption = TCSApp.LoginUserName
If Application.Cells(1, 7).Value = "" Then Exit Sub
Set TCSActiveModule = TCSApp.SingleDoc(1, Application.Cells(1, 7).Value)
TCSActiveModule.UserModuleName = TCSActiveModule.UniqueUserModuleName
If TCSActiveModule Is Nothing Then
MsgBox ("Ошибка при поиске документа в TCS!")
TCSApp.DeleteModuleByUserModuleName TCSActiveModule.UserModuleName
FlagConnect = False
Exit Sub
End If
End sub