Макрос автосохранения файла excel

Макрос автосохранения файлов Excel

fairylive

Дата: Вторник, 12.12.2017, 17:08 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

Всем привет! У меня случился нереальный облом. Сохранил файл с изменениями которых быть не должно. Пол дня (хорошо хоть всего пол дня) работы на смарку. Давайте подумаем как можно сделать так чтобы такое предупредить в будущем. Такое уже не первый раз случается. Но бывало спасало автосохранение. Сейчас оно не помогло.
Продумать такой случай который и произошел у меня.
Я открыл файл.
Сделал изменения.
Нажал сохранить.
Закрыл файл.
Потом понял что произошло что-то не то. Файл надо было сохранить как!
Разумеется никаких копий автосохранения не сохранилось. Прошёлся recuva — пусто. Искал в папке где лежит сам файл и в папке автосохранения Excel. В интернете пишут что если бы я перезаписал его или удалил — шансы бы были. А так ничего не поделаешь.
Что-то подобное делается в автокаде. Там всегда есть копия — bak рядом с оригиналом. То есть предыдущая копия файла до нажатия кнопки сохранить. Плюс там очень хорошо продуманное автосохранение. Из темпа можно надёргать различные копии файла автосохранённые в разное время в течении дня.
Excel 2013 русский у меня если что.
Мне видится такое решение:
Открывается файл.
Сразу автоматом сохраняется как файл.bak — причём без какого-то участия пользователя.
Если файл открывается повторно а уже файл.bak есть то пусть создается файл1.bak
Ну либо как-то ещё.
Может кто сталкивался с таким?
Задача вроде не особо сложная. ДУмаю и сам бы справился. Но пока не понимаю как добавить такое событие (после открытия любого файла). Где должен макрос лежать?

 

Ответить

al-Ex

Дата: Вторник, 12.12.2017, 18:49 |
Сообщение № 2

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 190


Репутация:

59

±

Замечаний:
0% ±


Excel 2010

после открытия любого файла). Где должен макрос лежать?

В личной книге макросов. PERSONAL.XLSB или в надстройке.

Сообщение отредактировал al-ExВторник, 12.12.2017, 18:51

 

Ответить

berya

Дата: Вторник, 12.12.2017, 18:49 |
Сообщение № 3

Группа: Проверенные

Ранг: Новичок

Сообщений: 27


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Добрый день
Создает резервную копию файла в папке «_Резерв» в том же каталоге где и запускается файл

В модуль «Эта книга» помещаете:
[vba]

Код

Private Sub Workbook_Open()
    reserv
End Sub

[/vba]

в модуль1 (или любой другой:

[vba]

Код

Sub reserv()

Dim strPath As String
Dim strDate As String
    Application.ScreenUpdating = False
    strPath = ThisWorkbook.Path
    If Len(Dir(strPath & «_Резерв», vbDirectory)) = 0 Then MkDir strPath & «_Резерв»
    On Error Resume Next
    x = GetAttr(strPath) And 0
    If Err = 0 Then
        strDate = Format(Now, «yyyy_mm_dd_hh-mm»)
        FileNameXls = strPath & «_Резерв» & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) — 5) & «_» & strDate & «.xlsb»
        ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
    Else
        MsgBox «Ошибка сохранения!!!!», vbCritical
    End If
    Application.ScreenUpdating = True
End Sub

[/vba]

 

Ответить

SLAVICK

Дата: Среда, 13.12.2017, 09:52 |
Сообщение № 4

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

Разумеется никаких копий автосохранения не сохранилось.

Посмотрите на всякий случай тут:
c:UsersПОЛЬЗОВАТЕЛЬAppDataLocalMicrosoftOfficeUnsavedFiles
иногда сохраняются даже сохраненные файлы.

А вообще — лучший способ отката — всегда сохранять файлы как новые — с добавлением текущей даты и времени — потом легко можно откатится на нужный вариант(дату) лишнее — просто удаляете.
Тут есть пример и описание
Иногда файлы ловят неисправимые глюки(по разным причинам), и потом работавший долгое время файл может просто перестать открываться т.е. RIP. :o


Иногда все проще чем кажется с первого взгляда.

 

Ответить

fairylive

Дата: Среда, 13.12.2017, 15:23 |
Сообщение № 5

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

Добрый день
Создает резервную копию файла в папке «_Резерв» в том же каталоге где и запускается файл

Это в каждый файл придётся вставлять этот макрос? На автоматизацию не очень похоже. Или я не уловил что-то? Попозже попробую в деле.

Посмотрите на всякий случай тут:
c:UsersПОЛЬЗОВАТЕЛЬAppDataLocalMicrosoftOfficeUnsavedFiles
иногда сохраняются даже сохраненные файлы.

Смотрел, там пусто.

Что-то мне сдаётся средствами экселя такое не сделать. Перехватывающий скрипт какой-то мутить?

 

Ответить

berya

Дата: Среда, 13.12.2017, 16:47 |
Сообщение № 6

Группа: Проверенные

Ранг: Новичок

Сообщений: 27


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

fairylive,
Добрый день.
Создаете файл personal.xlsb — помещаете его в папку …..AppDataRoamingMicrosoftExcelXLSTART
В модуль сохраняете

[vba]

Код

Sub reserv()

Dim strPath As String
Dim strDate As String
Dim x
Dim FileNameXls
    Application.ScreenUpdating = False
    strPath = ActiveWorkbook.Path
    If Len(Dir(strPath & «_Резерв», vbDirectory)) = 0 Then MkDir strPath & «_Резерв»
    On Error Resume Next
    x = GetAttr(strPath) And 0
    If Err = 0 Then
        strDate = Format(Now, «yyyy_mm_dd_hh-mm»)
        FileNameXls = strPath & «_Резерв» & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) — 5) & «_» & strDate & «.xlsb»
        ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
    Else
        MsgBox «Ошибка сохранения!!!!», vbCritical
    End If
    Application.ScreenUpdating = True
End Sub

[/vba]

В модуль «Эта книга» файла с которым Вы работаете

[vba]

Код

Private Sub Workbook_Open()
    With ThisWorkbook
        Application.Run («personal.xlsb!reserv»)
    End With
End Sub

[/vba]
Автоматизация заключается в том, что при каждом открытии Вашего рабочего файла создается резервная копия файла.
Только обратите внимание на расширение файла — у меня оно xlsb
Также макрос reserv — можно повесить на кнопку и перед какой — то сложной операцией запускать

 

Ответить

fairylive

Дата: Среда, 13.12.2017, 17:19 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

Автоматизация заключается в том, что при каждом открытии Вашего рабочего файла создается резервная копия файла.

Да спасибо, я именно так и думал. Но ваш вариант скорей подойдёт для людей которые что-то понимают в макросах и как минимум долго работают с одним и тем же файлом. Изо дня в день. У меня по сути объём работы такой что один файл может создаваться от 10 минут до 8 часов. Несколько дней — исключительная редкость. Но здесь тогда пользователи сами создают резервные копии.

 

Ответить

krosav4ig

Дата: Среда, 13.12.2017, 17:28 |
Сообщение № 8

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

В PERSONAL.XSLB в модуль ЭтаКнига
[vba]

Код

Private WithEvents app As Application
Private Sub app_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
    On Error GoTo er
    Dim LastSaved$, Backup$
    LastSaved = Wb.BuiltinDocumentProperties(«Last Save Time»)
    Backup = Wb.Path & «» & Replace(LastSaved, «:», «.») & » » & Wb.Name
    If Wb Is Me Or Wb.IsAddin Then Exit Sub
    If Wb.FullName <> Wb.Name And Not SaveAsUI And MsgBox(«Сделать бэкап?», 36) = 6 Then
        Shell Join(Array(«cmd /c copy «, Wb.FullName, » «, Backup, » /y»), «»»»)
        Do While Dir$(Backup) = «»
            DoEvents
        Loop
    ElseIf SaveAsUI Then
        MsgBox «Тут можно чего-то написать»
    End If
er:
End Sub
Private Sub Workbook_Open()
    Set app = Application
End Sub

[/vba]
и перезапустить Excel


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

fairylive

Дата: Пятница, 15.12.2017, 12:27 |
Сообщение № 9

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

krosav4ig, спасибо, походу дела то что надо!

Не совсем понятно как работает. Можете пояснить немного код?
Вот эта строчка должна заменять текущий бэкап или нет?

Код

Backup = Wb.Path & «» & Replace(LastSaved, «:», «.») & » » & Wb.Name

Ещё при сохранении КАК выскакивает «Тут можно чего-то написать». Так и должно быть?

И пожалуй стоит сохранять эти бэкапы в отдельную папку в той же папке где находится исходник (Или может вообще в какую-то общую папку, например на сервере с рэйдмассивом, чтобы повысить шансы выживания файлов). А то слишком много копий появляется в текущей папке, если поставить это дело на автомат (имею ввиду если убрать всплывающее окно с вопросом Сделать бэкап).

Сообщение отредактировал fairyliveПятница, 15.12.2017, 12:28

 

Ответить

fairylive

Дата: Пятница, 15.12.2017, 12:36 |
Сообщение № 10

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

berya, сделал как вы сказали — поместил тоже в книгу Personal.xlsb (сейчас там только ваш код).

После открытия файла спотыкается на строчке

[vba]

Код

strPath = ActiveWorkbook.Path

[/vba]

Причем 1 раз открывает с ошибкой второй раз нормально. Но бэкапы не делаются.

К сообщению приложен файл:

7618942.png
(17.4 Kb)

Сообщение отредактировал fairyliveПятница, 15.12.2017, 12:45

 

Ответить

fairylive

Дата: Пятница, 15.12.2017, 14:52 |
Сообщение № 11

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

Вот подправил — работает как я и хотел. Создаются бэкапы Excel в отдельную папку в той же папке где исходник.
[vba]

Код

Private WithEvents app As Application
Private Sub app_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
    On Error GoTo er
    Dim LastSaved$, Backup$
    LastSaved = Wb.BuiltinDocumentProperties(«Last Save Time»)
    If Dir(Wb.Path & «excel_bak», vbDirectory) = «» Then MkDir (Wb.Path & «excel_bak»)
    Backup = Wb.Path & «excel_bak» & Replace(LastSaved, «:», «.») & » » & Wb.Name
    If Wb Is Me Or Wb.IsAddin Then Exit Sub
    If Wb.FullName <> Wb.Name And Not SaveAsUI Then ‘And MsgBox(«Сделать бэкап?», 36) = 6 Then
        Shell Join(Array(«cmd /c copy «, Wb.FullName, » «, Backup, » /y»), «»»»)
        Do While Dir$(Backup) = «»
            DoEvents
        Loop
    ElseIf SaveAsUI Then
        ‘MsgBox «Тут можно чего-то написать»
    End If
er:
End Sub
Private Sub Workbook_Open()
    Set app = Application
End Sub

[/vba]

Сообщение отредактировал fairyliveПятница, 15.12.2017, 14:53

 

Ответить

fairylive

Дата: Пятница, 15.12.2017, 15:25 |
Сообщение № 12

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 122


Репутация:

4

±

Замечаний:
0% ±


Excel 2016

Всплыл БАГ. При работе с сетевыми файлами. В связи с отсутствием админских прав. Появляется ошибка что нет прав если попытаться сохранить. Плюс в чужих папках появляется папка excel_bak даже если выбором было сохранить как.

Так же при работе с сетевыми файлами появляются тормоза при закрытии файла. Причём даже если просто зайти ничего не сделать (просто посмотреть) и выйти.

UPD. Тормоза не связаны с макросом или файлом personal.xlsb — удалял его и ничего не менялось. При этом файлы xlsx работают нормально. xls при выходе подвисают секунд на 10. Возможно связано с последним декабрьским обновлением винды. В инете чувак один писал на англоязычном форуме что у него файлы офиса накрылись. Но я сейчас откатил это обновление и тормоза не пропали.

Сообщение отредактировал fairyliveПятница, 15.12.2017, 17:35

 

Ответить

Добрый день, уважаемые форумчане!

Сразу говорю, что в Excel я чайник, занимаюсь совершенно иным. Однако же, возникла необходимость…

Что нужно — чтобы в процессе работы с книгой Excel периодически выполнялось сохранение файла (текущей книги). Не автосохранение, которое можно прописать в Excel, а именно сохранение — эквивалент того, что происходит по Ctrl/S. Это нужно, чтобы Dropbox увидел изменившийся файл и создал новую версию файла — таким образом, мы получаем последовательность версий, отстоящих друг от друга, например, на 3 минуты, и если бухгалтер под действием выкуренной дури накосячит — чтобы можно было взять файл отчёта по состоянию на N минут назад. Всё бы хорошо, но автосохранение не трогает сам файл, с которым работают, — вместо этого некие данные пишутся в некие другие файлы, по которым Excel потом может что-то там восстановить — но это совсем не то, что нам требуется.

Порывшись немного в нете, сделал макрос (текст чуть ниже). Всё работает замечательно, каждые 3 минуты файл сохраняется, но теперь другая беда — кнопки «Отменить действие» и «Отменить отмену» при работе макроса неактивны.
Т.е., если я даже просто вношу число в ячейку, то удалить его можно только затерев вручную, отмены нет.

А теперь, собственно, вопросы…

1. Почему не работают кнопочки Undo / Redo, и как сделать, чтобы они работали?
2. Можно ли вызывать ActiveWorkbook.Save() по событиям таймера, программируя их с нужным интервалом, а не крутить в тесном цикле?
3. Возможно, проблему с регулярным сохранением файла можно решить вообще без макроса? (программировать бухгалтера на нажатие Ctrl/S каждые 3 минуты не предлагать )))

Sub Delay(dblSecs As Double)
Const OneSec As Double = 1# / (1440# * 60#)
Dim dblWaitTil As Date
dblWaitTil = Now + OneSec * dblSecs
Do Until Now > dblWaitTil
  DoEvents ' Allow windows messages to be processed
Loop
End Sub

Sub Auto_Open()
Do Until False
  Delay (180) ' Save the document every 180 seconds
  ActiveWorkbook.Save
Loop
End Sub

0 / 0 / 0

Регистрация: 10.05.2016

Сообщений: 3

1

30.05.2016, 23:27. Показов 5794. Ответов 1


Студворк — интернет-сервис помощи студентам

Помогите, пожалуйста с таким вопросом. Нужно чтобы документ автоматически сохранялся с периодичностью в секунду. Автосохранение необходимо производить в этот же документ или в любой заданный.



0



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

31.05.2016, 13:29

2

Module1 :

Visual Basic
1
2
3
4
5
6
7
8
9
10
Public TimerFlag As Boolean
 
Sub Timer_Tick()
    Dim MyEarliestTime As Variant
    If TimerFlag Then
        ThisWorkbook.Save
        MyEarliestTime = Now + TimeValue("00:00:01")
        Application.OnTime EarliestTime:=MyEarliestTime, Procedure:="Timer_Tick"
    End If
End Sub

Модуль ЭтаКнига:

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Workbook_Open()
    TimerFlag = True
    Call Timer_Tick
End Sub
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    TimerFlag = False
    ThisWorkbook.Save
End Sub

Добавлено через 1 час 2 минуты
У меня тут всплыла закрытая книга.
Лучше так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
Public TimerFlag As Boolean
Public MyEarliestTime As Variant
 
Sub Timer_Tick()
    If TimerFlag Then
        ThisWorkbook.Save
        MyEarliestTime = Now + TimeValue("00:00:01")
        Application.OnTime EarliestTime:=MyEarliestTime, Procedure:="Timer_Tick"
    End If
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Workbook_Open()
    TimerFlag = True
    Call Timer_Tick
End Sub
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    TimerFlag = False
    Application.OnTime EarliestTime:=MyEarliestTime, Procedure:="Timer_Tick", Schedule:=False
    ThisWorkbook.Save
End Sub



0



Skip to content

Как создать резервную копию книги с сегодняшней датой

На чтение 2 мин. Просмотров 2.7k.

Что делает макрос: Макрос позволяет создать резервную копию книги и сохраняет ваш файл в папке с сегодняшней датой.

Содержание

  1. Как это работает
  2. Код макроса
  3. Как работает этот код
  4. Как использовать

Как это работает

Хитрость данного макроса заключается в сопоставлении частей файла. Новое имя файла состоит из трех частей: путь, исходный файл и сегодняшняя дата.

Путь определяем с помощью свойства Path объекта ThisWorkbook.
Второй частью нового файла является исходное имя файла. Мы используем свойство Name объекта ThisWorkbook.
Текущую дату берем с помощью функции Date. Вы заметите, что мы форматируем дату (Format (Date, «мм-дд-гг»)). Это происходит потому, что по умолчанию функция даты возвращает мм / дд / гггг. Мы используем дефис вместо слэша, иначе это вызовет ошибку при попытке сохранить файл (Windows не позволяет использовать «/» в именах файлов.)

Код макроса

Sub SozdatRezervnuyuKopiyu()
'Сохранить книгу с новым именем
ThisWorkbook.SaveCopyAs _
Filename:=ThisWorkbook.Path & "" & _
Format(Date, "mm-dd-yy") & " " & _
ThisWorkbook.Name
End Sub

Как работает этот код

Используем одну единственную строку, которая с помощью метода SaveCopyAs создает новый имя файла и использует метод для сохранения файла.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.

 

Есть файл Книга1.xls. Этот файл сохранен в каталоге «Мои документы». Нужно, чтоб при работе с этим файлом он автоматически сохранялся через каждые 20 секунд. Можно ли создать такой макрос? Как будет выглядеть его полный код (VBA для меня – темный лес, умею только записывать действия в макрос)? И как его запустить один раз (пусть даже после, а не в момент открытия файла Книга1.xls) и до конца сеанса работы с файлом Книга1.xls?

 

ytk5kyky

Пользователь

Сообщений: 2410
Регистрация: 01.01.1970

В модуль ЭтаКнига:  
Private Sub Workbook_Open()  
Call save20  
End Sub  
Sub save20()  
Me.Save  
Application.OnTime Now + TimeValue(«00:00:20»), «save20»  
End Sub

 

Помогите, вставила этот макрос в оооочень важный файл, переделала его не под сохранение а закрытие, и теперь он открывется буквально на несколько секунд, я не могу ничего успеть. Что делать?????????? Я просто в отчаянии

 

не подумала, а как сделать чтоб закрывался через 30 сек?????

 

ytk5kyky

Пользователь

Сообщений: 2410
Регистрация: 01.01.1970

Я так понял, что 20 сек не хватало, а 30 вполне достаточно?  
Чтобы он не закрывался сразу, отключите макросы, повысив уровень безопасности.

 

{quote}{login=Лузер™}{date=22.07.2009 03:14}{thema=}{post}Я так понял, что 20 сек не хватало, а 30 вполне достаточно?  
Чтобы он не закрывался сразу, отключите макросы, повысив уровень безопасности.{/post}{/quote}  

      Я так и сделала )))) до того как мне кто-то ответил )))))) Все-таки женская логика существует, сейчас попробую ваш вариант по закрытию ))) Спасибо

 

Пишет что невозможно выполнить макрос в такой-то книге, возможно данный макрос отсутствует, либо все макросы отключены. Все у меня есть((((( Пока писала поняла в чем проблема, функцию Close30 в макросы засунуть нужно а не в КНИГУ1. ГЛУПАЯЯЯЯЯЯЯЯЯ

 

СПАСИБО ОГРОМНОЕ, на радостях поблагодарить забыла )))))

 

{quote}{login=Лузер™}{date=21.07.2009 02:43}{thema=}{post}В модуль ЭтаКнига:  
Private Sub Workbook_Open()  
Call save20  
End Sub  
Sub save20()  
Me.Save  
Application.OnTime Now + TimeValue(«00:00:20»), «save20»  
End Sub{/post}{/quote}  

  Я вставил указанный вами код в окно кода.    

  Private Sub Workbook_Open()  
Call save20  
End Sub  
Sub save20()  
Me.Save  
Application.OnTime Now + TimeValue(«00:00:20»), «save20»  
End Sub  

  При этом в окне Project у меня «ЭтаКнига» (была выделена) была вложена в «Microsoft Excel objects», последний был включен VBAProject (Книга1.xls)  
Я сохранил этот код (нажав на кнопку флопидиска) и запустил его через команду Run, но он мне через 20 секунд выдал сообщение «Не найден макрос «C:Documents and settingsМои ДокументыКнига1.xls’!save20′. Мне нужно, чтобы открытый файл сохранялся под своим же именем не один раз, а через каждые 20 секунд, пока я его не закрою.

 

вот это дело  

  Sub save20()  
Me.Save  
Application.OnTime Now + TimeValue(«00:00:20»), «save20»  
End Sub  

  переставьте в какой-нибудь Module, так как Workbook_Open ищет эту функцию именно там, а не в ЭтойКниге. Попробуйте

 

Private Sub Workbook_Open()  
Call save20  
End Sub  

  -Это код, который срабатывает при запуске файла. Он вызывает макрос save20?  
Я сам дундук по ВБА. Попробуй поэкспериментируй — замени в этом коде save20 на Макрос1, который просто будет, например, копировать содержимое одной ячейки в другую.

 

А давайте будем подписываться, а то не понятно, это мне предлагают функцию переименовать или просто еще помошники есть

 

Polisimus

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

{quote}{login=Mario}{date=22.07.2009 05:28}{thema=}{post}А давайте будем подписываться, а то не понятно, это мне предлагают функцию переименовать или просто еще помошники есть{/post}{/quote}

 

Polisimus

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

это я первоначальный автор вопроса  
я уже поэкспериментировал тут с — вместо save20 поставить уже записанный Макрос1.  
Да, действительно срабатывает. Так оно и есть — макрос запустил Макрос1 с открытием файла автоматически. А вот со вторым кодом я пока разбираюсь. Там нужно в окне проекты редактора ВБА просто вставить новый модуль. И в нем уже писать второй код? Сейчас попробую.

 

Polisimus

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

Выдает ошибку:  
Compile error:  
Invalid use of Me keyword.

 

Polisimus

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

{quote}{login=The_Prist}{date=22.07.2009 05:42}{thema=}{post}Если макрос в Module1(Модуль1), то следует заменить Me на thisWorkbook{/post}{/quote}  

  Работает! Есть!  
СПАСИБО!!!

 

{quote}{login=The_Prist}{date=22.07.2009 05:42}{thema=}{post}Если макрос в Module1(Модуль1), то следует заменить Me на thisWorkbook{/post}{/quote}  

  Ага, как в моем примере с закрытием

 

Polisimus

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

#18

22.07.2009 18:03:12

После открытия файла Книга1.xls я его тут же под этим же именем сохранил, но в текстовом формате. Запустил макрос save20. И он работает — сохраняет текст активного листа. Отлично!

Понравилась статья? Поделить с друзьями:
  • Макрос ping для excel
  • Макрос автоподбор высоты строк excel
  • Макрос xml для excel
  • Макрос ms word работа с файлами
  • Макрос word удалить абзацы в word