Как определить формат сохранения Word по умолчанию. #807015


#0 by Numerus Mikhail
Всем доброй пятницы. Имеется: Com Объект Word.Application В таком случае файл сохраняется в том формате, который указан как формат по умолчанию. (В ворде: Файл - Параметры - Сохранение - Сохранять файл в следующем формате) Но если в имени файла присутствует точка, то файл сохраняется с расширением, которые после точки. MSDN говорит, что вторым параметром в SaveAs можно передавать расширение файла Но нигде не написано, как программно узнать, какое расширение используется по умолчанию. Вроде как перерыл весь ком объект Word, но не нашел в нем ничего примерно похожего на то, что надо мне. Может кто сталкивался и подскажет в какую сторону копать?
#1 by Numerus Mikhail
Подниму. Есть вариант называть файл без точек, а потом переименовывать его, но такие костыли оставлю на крайний случай
#2 by Масянька
Задача-то какая?
#3 by Numerus Mikhail
Задача сохранить файл с расширением, которое указано в ворде как расширение по умолчанию. Имя файла задает пользователь. Если в имени файла нет точек, то все работает, если же в имени присутствует точка, то файл сохраняется с неправильным расширением
#4 by Масянька
Делай без точки.
#5 by Numerus Mikhail
Гениально, конечно, но "Имя файла задает пользователь". И, если ворд предоставляет возможность сохранять файлы, в которых есть точка, то считаю нецелесообразным запрещать это. Поэтому, суть вопроса сводится к "Как программно определить расширение по умолчанию"
#6 by Филиал-msk
> MSDN говорит, что вторым параметром в SaveAs можно передавать расширение файла C чего бы это? MSDN говорит, что вторым параметром в SaveAs можно передавать формат файла.
#7 by Масянька
Пихать точки в имя файла (не путать с расширением) - это не просто моветон... За это нужно руки отрубать по самую голову...
#8 by Филиал-msk
Ты еще возмутись, что некоторые туда пробелы запихивают
#9 by Масянька
Только как получить расширение по умолчанию? Пробелы еще терпимо...
#10 by Филиал-msk
НовыйДокумент.SaveAs("ИмяФайла.С.Точками", 16) к чему приводит?
#11 by Филиал-msk
Так же, как и всегда, Пинки... прочитать документацию. =)
#12 by Numerus Mikhail
сохраняется без расширения
#13 by Филиал-msk
#14 by Масянька
Методом тыка - НовыйДокумент.SaveAs("ИмяФайла.С.Точками.docx", 1)
#15 by Numerus Mikhail
Да, я уже опытным путем понял, что неважно какой формат сохранения я выберу, если в имени файла есть точки, оно будет сохраняться с расширением после последней точки.
#16 by Филиал-msk
. Нет. Это проверка того, что у тебя расширение соответствует формату. В ранних вордах оно бросало исключение, что тип не соответствует расширению файла. Здесь решили упростить обрезанием некорректного расширения нахъ.
#17 by Масянька
А я вам говорила... А что запрещает программно формировать имя файла?
#18 by Филиал-msk
Так что, давай засучивай рука и приступай к дело
#19 by Numerus Mikhail
Оно не обрезает создает файл "lol.kek.docx.хук". Сохраняется как раз в то, что указано в SaveFormat
#20 by Филиал-msk
Ну тогда вообще проблемы нет - если лев 4 <> .докх тогда += .докх
#21 by Масянька
У меня не арбайтэн 16. Сохраняет в doc? а в Worf'у стоит docx.
#22 by Numerus Mikhail
а если в формате по умолчанию docm выбран? в этом же вся суть проблемы.
#23 by Numerus Mikhail
я нашел свойство "DefaultSaveFormat" у Word.Application Но оно довольно убогое. Если docx - пусто Ну и так далее. Получается можно один раз руками перебрать все варианты, засунуть их в какое-то соответствие, а потом искать при формировании.
#24 by Филиал-msk
#25 by Numerus Mikhail
Если бы я точно знал, в какой формат мне надо сохранить - проблемы бы, наверное, не было. Суть была именно в определении какой формат по умолчанию выбран.
#26 by Масянька
У меня: вернуло: 1 -
#27 by Филиал-msk
цитата: "... Опция Office/Параметры Word/Сохранение/Сохранять файлы в следующем формате "Документ 97-2003" естественно НАСТРОЕНА. но она работает только на новые созданные документы.
#28 by Масянька
Я не понимаю: я что сама с собой разговариваю?!
#29 by Филиал-msk
Только. На. Новые.
#30 by Масянька
Кстати... мДок.SaveAs(мИмяФайла, 1) - сохранил в dot мДок.SaveAs(мИмяФайла, 16) - сохранил в docx (установлен по умолчанию).
#31 by Масянька
мДок.SaveAs(мИмяФайла, 2); - сохранил в txt.
#32 by Numerus Mikhail
Не могу понять, это я тебя не понимаю или ты меня. Я создаю новые документы. Для просты код: это же НОВЫЙ документ? или я что-то не понимаю? Сохраняет с расширением .хук
#33 by Numerus Mikhail
Это если точки в имени файла нет. В этом же вся моя проблема изначально
#34 by Масянька
мДок.SaveAs(мИмяФайла); - сохранил в docx (по умолчанию стоит).
#35 by Масянька
А что такого в этих точках?
#36 by Numerus Mikhail
Как понять что такого? Ну нравится пользователю делать имя файла "СУПЕР МЕГА ВАЖНЫЙ ФАЙЛ от 12.02.2017"
#37 by Масянька
Ну дык, меняй точки. На пробелы, подчерки...
#38 by Масянька
+ Объясни, что это (мягко говоря) не корректно.
#39 by Numerus Mikhail
А кто сказал, что это некорректно? Я упорно не понимаю, почему ты считаешь, что это моветон. Можешь обьяснить, если не сложно?
#40 by Масянька
Смешной ты... Тему-то зачем завел? :) "." - в ОСи всегда расценивалась, как разделитель имени файла и расширения. И то, что в Винде разрешили использовать "." в имени файла - не показатель, что всё будет корректно работать. Сам уже убедился.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С