Страницы: 1
RSS
Слетают комментарии с картинками в Excel2010
 
Добрый день
В Excel2010 возникает проблема с примечаниями. Опишу весь процесс:
В структуре файла (открывается архиватором) есть файл отвечающий за примечания на листе vmlDrawing1.vml (находится в xl\drawings\). В нем прописана информация по каждому примечанию на листе (координаты, размер, формат, фон, в т.ч. картинка). Картинкам присваивается ID, а сами картинки прописываются в файле vmlDrawing1.vml.rels - находится в xl\drawings\_rels\). При каждом добавлении/изменении любого примечания файлы обновляются, ID переназначаются и дописываются (o:relid):
<v:fill o:relid="rId4" o:relid="rId3" o:title="1" color2="#ffffe1" size="0,0"
Также при изменении ширины,высоты ячеек или их добавлении переписываются координаты и привязка к ячейкам (ячейка и сдвиг левого верхнего угла и правого нижнего угла). Вот из за этой привязки к ячейкам и происходит сдвиг и изменение примечаний, но речь сейчас не об этом.
При удалении примечания (в данном примере оно было первым) o:relid всех последующих примечаний сдвинулось на единицу вниз (было 4, стало 3). Также перезаписался файл  vmlDrawing1.vml.rels и из него исчезло упоминание о ID4 - в следствие чего файл при открытии не может прочитаться. Приходится вручную вычищать vmlDrawing1.vml удаляя из него лишние ID и оставляя последнее. После этого файл открывается нормально. Также, как вариант можно дописать строчку в файл vmlDrawing1.vml.rels, но когда примечаний больше сотни - это процесс реально становится муторным...
Есть еще вариант, но тоже не совсем удачный - при удалении примечания нужно создать еще одно где либо на одном листе (главное, чтоб общее количество примечаний с картинками не уменьшалось).
Вопрос - может есть способ (может макрос) который перезаписывал бы файл vmlDrawing1.vml
Изменено: filan001 - 11.01.2019 11:30:02
 
filan001, Вы с какой целью полезли в дебри? Или вы хотите работать с файлом минуя приложение?
По вопросам из тем форума, личку не читаю.
 
Проблема в том, что в самом приложении нет решения этого глюка. В "эти дебри" мне пришлось залезть, после того как у меня слетел серьезный рабочий файл и мне пришлось его восстанавливать по крупицам.  
 
filan001, понятно, печалька. Ну если файл серьезный и рабочий, то стоит напомнить о резервном копировании. Понятно что поздно, но на будущее.
По вопросам из тем форума, личку не читаю.
 
Резервное копирование было, но, к сожалению я сделал много нововведений и не хотелось тратить 3 дня, чтобы все повторить (все время комментарии только добавлялись и файл открывался нормально, а в последний момент я удалил ненужную строку и ппц). К тому же теперь я знаю, что может повлиять на обрушение файла. Вот и хотелось бы предотвратить это в дальнейшем. Поэтому если бы был способ переписывать этот файл заново (макросом, например, или сторонним скриптом), то было бы проще.
 
Цитата
filan001 написал:
если бы был способ переписывать этот файл
А "Сохранить Как"  не подходит?
Или зайти в "Приемы" и почитать эту статью?
 
а еще есть
По вопросам из тем форума, личку не читаю.
 
Вопрос не в том, как создать резервную копию, а в том, как избежать последствий. С файлом работают тысячи людей в разных городах и любой из них "случайно" стерев комментарий тем самым "убьет" рабочий файл.
Резервная копия не решает вопрос вообще никак. Она позволяет просто открыть более старый файл без внесенных изменений. А внеся изменения (удаление комментария) получается нельзя сохранить файл, потому что при открытии все равно все комментарии слетят. Вот я и задаю вопрос - может кто знает, как заставить "автоматически" вычищать всё лишнее из файла vmlDrawing1.vml. По сути просто записывая его с нуля (Excel при сохранении его переписывает, но сохраняет в нем историю изменений).
 
Цитата
filan001 написал:
С файлом работают тысячи людей в разных городах
Это снова не относится к вопросу темы, но интересно,  с одним и тем же файлом?
Чисто гипотетически , заставить сохранить копию файла , которую потом распаковать, поправить vml файл, запаковать обратно, после переименовать в прежнее имя, перед этим закрыв первичный файл  - наверно можно, но мне кажется процедура будет сбоить не меньше, а даже больше. А вот если вернутся к вопросу почему столько людей работают с одним файлом , то нужно просто уходить от этого в сторону другого решения.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх