Восстановление несохраненных макросов (VBA PowerPoint)

Это ОЧЕНЬ РАЗОЧАРАЕТ, когда PowerPoint падает, потому что я теряю все свои коды vba (макросы), и только изменения PowerPoint могут иметь резервную копию. Это происходит много раз, и мне приходится писать коды снова и снова, я знаю, почему он вылетает, но нет возможности это исправить (только если я снова и снова сохраняю презентацию вручную).

Поэтому я хочу знать, как я могу восстановить потерянные макросы из vba PowerPoint.


person PPTGames PT-PT    schedule 23.01.2017    source источник
comment
Почему вы не хотите сохранять презентацию снова и снова вручную? Это должно быть СОП. Вы должны практиковать сочетание клавиш (ctrl-s), пока оно не станет вашей второй натурой, и делать это постоянно.   -  person J. Garth    schedule 23.01.2017
comment
Предположение: если вы не сохранили презентацию как PPTM хотя бы один раз, аварийное восстановление PowerPoint может сохранить только PPTX, который не может содержать макросы, поэтому ваш код будет потерян в случае сбоя. Попробуйте сохранить один раз как PPTM, прежде чем добавлять какой-либо код в проект. В любом случае, после сохранения презентации, содержащей код, все, что вам нужно сделать, это время от времени нажимать CTRL+S (даже в редакторе VBA), чтобы сохранить проект, код и все остальное. ОСОБЕННО при работе с хитрым кодом, который имеет тенденцию к сбою PPT, это просто здравый смысл.   -  person Steve Rindsberg    schedule 24.01.2017


Ответы (2)


Периодически экспортируйте и сохраняйте модули кода. Вы можете либо щелкнуть правой кнопкой мыши по каждому модулю и выбрать «Экспорт», чтобы сделать это вручную, либо написать код для их автоматического экспорта. Затем, когда PowerPoint выйдет из строя, вы можете просто импортировать сохраненные модули кода, чтобы вернуть свой код.

person J. Garth    schedule 23.01.2017
comment
Ну, проблема в том, что я редактирую макросы, и он вылетает из-за макросов. - person PPTGames PT-PT; 23.01.2017
comment
Вы можете скопировать текст всего модуля кода так же, как документ Word: Ctrl-A, чтобы выделить все, Ctrl-C, чтобы скопировать его в буфер обмена, затем перейдите в документ Word или что-то еще и вставьте его туда. - person Shawn V. Wilson; 22.10.2019

Джей Гарт и Стив на высоте. Ctrl+S должно стать привычным для всех, кто пишет код в среде, размещенной в Office, потому что вы всегда будете подвергаться сбоям. Особенно делайте это перед запуском любого кода. Что касается другого момента, о котором упоминает Дж. Гарт, у меня есть модуль разработчика, который я добавляю в сложные проекты, что позволяет мне сохранять все формы, модули и классы в подпапке с отметкой времени под моей основной папкой проекта. Это окончательная стратегия резервного копирования.

person Jamie Garroch - MVP    schedule 26.02.2018