День добрый.
Не разбираюсь в программировании, поэтому обращаюсь ко всем знающим и умеющим с просьбой помощи.
Ранее пользовался макросом на виндовсе - все работало.
Решил запустить его в этом же файле на Mac - ругается.
Помогите откорректировать, чтобы все работало на Mac.
Заранее благодарен за помощь.
Не разбираюсь в программировании, поэтому обращаюсь ко всем знающим и умеющим с просьбой помощи.
Ранее пользовался макросом на виндовсе - все работало.
Решил запустить его в этом же файле на Mac - ругается.
Помогите откорректировать, чтобы все работало на Mac.
Заранее благодарен за помощь.
Код |
---|
Sub save_awb_w_val() Application.ScreenUpdating = False Set book_to_copy = ActiveWorkbook With book_to_copy awbfname$ = .FullName ' имя текущей книги с полным путём к ней nwbname$ = Mid(awbfname$, 1, InStrRev(awbfname$, ".") - 1) ' полное имя файла без расширения nwbext$ = Mid(awbfname$, InStrRev(awbfname$, ".")) ' расширение dt$ = Format(Now, "-YYYY_MM_DD-Hh_Nn_Ss") ' текущая дата и время nwbfname$ = nwbname$ & dt$ & "-val" & nwbext$ ' полное имя нового файла If CreateObject("Scripting.FileSystemObject").FileExists(nwbfname$) Then ' проверка на существование текущей книги MsgBox "Копию книги сохранить не удалось, т.к. файл с таким именем:" & Chr(10) & nwbfname$ & Chr(10) & "уже существует." Else .SaveCopyAs nwbfname$ ' создание копии текущей книги с сохранением Set book_to_copy = Nothing ' освобождаем память Set new_book = GetObject(nwbfname$) ' переменная для обращения к копии книги With new_book For Each sh In .Worksheets ' цикл только по рабочим листам sh.UsedRange.Value = sh.UsedRange.Value ' записываем в заполненную область _ каждого рабочего листа только значения Next sh Set sh = Nothing ' освобождаем память Windows(.Name).Visible = True ' делаем видимой копию книги .Save ' сохраняем .Close False ' закрываем (без вопросов на всякий случай) End With Set new_book = Nothing ' освобождаем память Workbooks.Open Filename:=nwbfname$ ' открываем копию для проверки - можно закомментировать End If End With End Sub |