간혹 위와 같은 메시지로 당황시키는 경우가 있습니다.

 

다행히 위처럼 복구가 되면 다행입니다.

복구되었어도 일부 애니메이션이나 개체가 누락, 손실될 수 있습니다.

 

특히 저장하는 과정에서 프리젠테이션에 문제가 생겨 저장할 수 없고 읽기전용이 되어버리는 심각한 경우도 있습니다.

 

그럴 경우 저장이 안되기 때문에 어떤 조치를 할 수가 없습니다.

1. 일단 보험으로 탐색기로 찾아가서 현재 pptx파일을 복사해서 복사본을 만들어 놓습니다.

ppt내부의 특정 슬라이드에서 개체나 애니메이션의 구성에 문제가 생긴 것이기 때문에 파일은 복사가 됩니다.

이 조치는 만일을 대비한 것으로 필수적인 것은 아닙니다.

 

2. 새 프리젠테이션을 시작하세요. 그리고 문제가 발생한 PPT의 왼쪽 미리보기창의 슬라이드들을 모두 복사하고

새 프리젠테이션 왼쪽 창에 붙여넣으세요. 붙여넣어진다면 일단은 안심해도 됩니다.

매크로가 있다면 매크로도 복사해줍니다.

전체 슬라이드를 복사하는데 문제가 있다면 이제 슬라이드를 하나씩 복사해봅니다.

문제가 되는 슬라이드가 대개 하나이기 때문에 하나만 찾아내면 됩니다.

대개는 최근에 작업한 슬라이드에서 문제가 발생했을 겁니다.

이제 이 새 프리젠테이션을 저장합니다.

 

3. 문제가 있는 프리젠테이션을 2차 보험으로 예전 포맷인 .ppt 형식으로 저장합니다.

요즘 기능이 들어간 것들은 지원이 되지 않지만 대개 ppt로 저장은 될겁니다.

 

4. 문제가 된 프리젠테이션을 닫고 새로 복사/붙여넣기한 프리젠테이션 파일을 엽니다.

또다시 문제가 있어 복구한다는 메시지가 뜰 수 있습니다. 복구해봅니다. 제 경우는 복구가 되었습니다만 보장은 못합니다.

 

문제가 생긴 파일과 복구된 파일을 비교해보았습니다.

아래처럼 특정 슬라이드의 XML 파일에서 문제가 발생하여 

XML내용 중 문제가 발생한 '읽을 수 없는 부분'들이 삭제됩니다.

 

아래의 경우는 복구해보니 읽을 수 없는 애니메이션들이 모두 삭제되었습니다.

 

발생 원인을 추측해보면

 

제 경우에는 애니메이션 특히 100여개 이내의 트리거 애니메이션이 슬라이드에서 

트리거가 걸린 도형을 1슬라이드로 복사하고

1슬라이드에서 다른 일반 애니메이션을 추가한 뒤에

1슬라이드에 다시 100여개 이내의 트리거 애니메이션을 만들면서 

내부적으로 애니메이션 시퀀스에 문제가 발생하여 

PPTX로 저장시에 기존에 저장되어 있는 1번 슬라이드의 XML에 문제가 발생하여 변경된 내용을 저장할 수 없었던 것으로 추측합니다. 

 

예전에는 특정 슬라이드에 보이지 않는 개체가 굉장히 많이 쌓였을 때

위와 같은 오류가 난 적이 있습니다.

 

MS에서 파일 저장 루틴을 개선하고 안정화시키기를 기대하지만 이런 문제가 Open XML방식으로 저장포맷이 바뀐 뒤로 개선되지 않아 앞으로도 쉽지 않을 것으로 보입니다.

 

1. 사용자 입장에서는 파일을 주기적으로 다른이름으로 저장하는 습관을 들여야겠습니다.

2. 다수의 시퀀스 혹은 트리거 애니메이션을 생성, 복사, 이동, 다른 슬라이드에 복사, 삭제 하는 과정은 주의가 필요합니다. 특히 수행한 작업을 취소하는 과정에서 문제가 많이 발생합니다. 애니메이션이 걸린 도형을 삭제했다가 작업을 취소하는 경우 도형이  없는데 애니메이션효과가 적용되어 애니메이션 시쿼스의 무결성에 문제가 생겨서 저장할 때 오류가 발생하기 쉽습니다.

3. 보이지 않는 개체가 쌓이는 지도 주의해야 합니다. 이 문제는 파일-문서검사에서 검사해서 조치할 수 있습니다.

4. VBA로 각종 처리를 하다보면 내부 오류로 특정 슬라이드의 내부 XML구조를 망가뜨릴 수 있으니 코드의 빈 구멍은 없는지 항상 주의해야 합니다.

5. XML구조는 내부적으로 계속 하부 개체가 새로 추가되고 삭제되는 구조이고  그 구조를 기다란 문자열로 저장하다 보니 그 과정에서 하위 노드나 부모 노드가 자칫 누락되거나 중복되는 문제가 발생할 수 있습니다. 특히 개체의 이름이 같거나 속성이름이 같거나 하는 등 이름이 같지 않도록 하는 것이 좋습니다.

 

 

In English:

더보기

This is one of the notorious bugs that numerous people encounter while working with Powerpoint.

What is clear is that the pptx file you are working with contains some inconsistency in the internal file structure.

 

Mostly, the XML structure of a slide is full of numerous parent/child nodes which can be easily damaged

if you interrupt the working/saving procedure of the PPT application.

When Powerpoint finds a problem in the object structure of a slide,

suddenly it stops working and shows that 'stupid' warning message to the user.

Powerpoint is designed that way to prevent any further damage to the broken file.

 

For instance, after having deleted some shapes and then pressing Ctrl-Z repeatedly,

you might find some child animation effects are still remaining that have no parent object.

What will happen to those children without any parent?

To protect the poor remaining family members, Powrpoint decides to stop working with the file and make it 'Read-Only.'

 

The only work-around is that you create a new presentation and copy/paste any recoverable slides from the broken file.

You can't recover some broken slides. Fortunately, usually the troublesome slide is only one.

Or you can save the broken presentation as the old .ppt format.

In this case, you might lose some advanced features that the recent .pptx format supports.

 

To prevent this 'Read-Only' problem from happening again, be aware of the followings:

- Be patient: Do not interrupt any on-going job Powerpoint is doing.

- Be careful: Especially when you UNDO something.

ex) Pressing the Ctrl-Z key repeatedly can spoil the file XML structure.

Keeping grouping or ungrouping shapes can do some damage, too

- Make it simple: Don't put everything in a single slide.

ex) Too many objects in a slide is the seed of the upcoming disaster.

- Check and check: Go to File > Information and check if there is any problem.

ex) Too many hidden shapes can cause the problem, too

- Make another back-up file regularly.