Нет автора при создании документа

Автор k008, 11 января 2019, 08:49

0 Пользователи и 1 гость просматривают эту тему.

k008

Здравствуйте, при создании документа с помощью правой кнопки мышки - создать... Не отображается автор документа, если создавать документ, заходя в саму програму - сохранить, то всё есть.

Как можно сделать, чтобы автор указывался при создании документа в папке, не заходя в программу?

Yakov

#1
При создании документа по щелчку правой кнопки мышки создаётся документ из шаблона, который находится в операционной системе. Надо только поправить файл шаблона.
В Windows шаблоны находятся в профиле пользователя в скрытой папке Шаблоны и в профиле All Users (Все пользователи)  в скрытой папке Шаблоны.

c:\Documents and Settings\All Users\Шаблоны\

k008

Цитата: Yakov от 11 января 2019, 08:59Надо только поправить файл шаблона.
В Win шаблоны находятся в профиле пользователя в скрытой папке Шаблоны и в профиле All Users (Все пользователи)  в скрытой папке Шаблоны.
Я тоже так подумал, но шаблонов не было, создал в папке template .ods, он появился в шаблонах, если открыть сам опен офис, но автора опять не было.

Можно поподробнее, куда положить и какой файл

mikekaganski

Шаблон находится в папке установки программы, в подпапке share\template\shellnew. Например, у меня это C:\Program Files\LibreOffice\share\template\shellnew\soffice.odt. Точнее можно посмотреть в реестре, сначала открыв HKEY_CLASSES_ROOT\.odt, посмотрев там значение "по умолчанию", и затем открыв HKEY_CLASSES_ROOT\.odt\<прочитанное значение по умолчанию>\ShellNew.

Учтите, что при таком способе отображаться будет не автор созданного документа, а автор шаблона (что может быть и допустимо в Вашем случае).
С уважением,
Михаил Каганский

Yakov

Цитата: mikekaganski от 11 января 2019, 09:08Шаблон находится в папке установки программы, в подпапке share\template\shellnew.
Это, наверное, на тот случай, когда в папке "шаблоны" текущего пользователя или "шаблоны" всех пользователей нет шаблонов.
И LibreOffice при установке их должен скопировать из этой папки в папку "шаблоны" для всех пользователей.
Если шаблоны уже есть - их замещение не производится.

Но при создании  документа на WinXP используется в приоритете документ шаблона из папки c:\Documents and Settings\USER\Шаблоны\
в соответствии с условиями:

Цитата: mikekaganski от 11 января 2019, 09:08это C:\Program Files\LibreOffice\share\template\shellnew\soffice.odt. Точнее можно посмотреть в реестре, сначала открыв HKEY_CLASSES_ROOT\.odt, посмотрев там значение "по умолчанию", и затем открыв HKEY_CLASSES_ROOT\.odt\<прочитанное значение по умолчанию>\ShellNew.

mikekaganski

Цитата: Yakov от 11 января 2019, 09:23
Это, наверное, на тот случай, когда в папке "шаблоны" текущего пользователя или "шаблоны" всех пользователей нет шаблонов.
И LibreOffice при установке их должен скопировать из этой папки в папку шаблоны для всех пользователей.

Но при создании  документа на WinXP используется документ шаблона из папки c:\Documents and Settings\USER\Шаблоны\
в соответствии с условиями:

Цитата: mikekaganski от 11 января 2019, 09:08это C:\Program Files\LibreOffice\share\template\shellnew\soffice.odt. Точнее можно посмотреть в реестре, сначала открыв HKEY_CLASSES_ROOT\.odt, посмотрев там значение "по умолчанию", и затем открыв HKEY_CLASSES_ROOT\.odt\<прочитанное значение по умолчанию>\ShellNew.

Это не на тот случай, а определено инсталлятором. Я не знаю, как было раньше, но по крайней мере инсталлятор ЛО достаточно свежих версий фиксированно пишет путь, который я указал выше. Для того, чтобы копировать в шаблоны пользователя, у инсталлятора должен быть предусмотрен режим двухэтапной установки (это делается отдельно), либо это должна делать сама программа - и я не помню такого, чтобы любой из этих вариантов был реализован с 2015 года (когда я занимаюсь разработкой ЛО).
С уважением,
Михаил Каганский

k008

Цитата: mikekaganski от 11 января 2019, 09:08Шаблон находится в папке установки программы, в подпапке
В OpenOffice путь просто soffice.ods, если поискать файлы, то находится он в C:\ProgramData\Microsoft\Windows\Templates, заменил файл, но всё равно не появился автор.

Хотя в LibreOffice у меня после подмены файлы, автор появился...

k008

#7
Изменил в реестре soffice.ods на C:\Program Files\LibreOffice\share\template\shellnew\soffice.ods и получилось (у меня на компьютере 2 офиса).

Насколько правильно править Глобальный шаблон, насколько правильно править путь в реестре, может надо положить в какую-то директорию?
Это всё работает если за 1 ПК работает 1 человек, а если более одного, как можно использовать разные шаблоны, может есть другой способ?

mikekaganski

Цитата: k008 от 11 января 2019, 10:18заменил файл, но всё равно не появился автор
Заменили на что? если в файле, которым заменяли, прописан автор, то оно должно работать.

Цитата: k008 от 11 января 2019, 10:23Насколько правильно править Глобальный шаблон
Что значит "насколько"? на 42. Если Вам надо поправить шаблон - правьте, шаблоны для этого и существуют. Если Вы переживаете за то, что можете "поломать" шаблон - сохраните себе резервную копию. Нужно учитывать, что шаблоны в папке программы могут быть переписаны при следующем обновлении, поэтому ...

Цитата: k008 от 11 января 2019, 10:23насколько правильно править путь в реестре, может надо положить в какую-то директорию?
как раз и желательно бы положить куда-то к себе, и изменить путь в реестре на свой.

Цитата: k008 от 11 января 2019, 10:23Это всё работает если за 1 ПК работает 1 человек, а если более одного, как можно использовать разные шаблоны, может есть другой способ?
Нет другого способа, потому что автор документа прописывается внутри документа, что может сделать только офис. А используя контекстные меню Windows, Вы просто копируете файлики с места на место, не меняя их содержимое (по крайней мере так реализовано в офисе).

Если надо нескольким пользователям, придётся для каждого делать свой шаблон, класть в папку профиля пользователя, и перенаправлять реестр на этот шаблон.
С уважением,
Михаил Каганский

Yakov

#9
На моём компьютере установлены и LibreOffice и Apache OpenOffice.
И Apache OpenOffice установлен последним, поэтому HKEY_CLASSES_ROOT\.odt значение (по умолчанию)  равно
opendocument.WriterDocument.1
а в HKEY_CLASSES_ROOT\.odt\opendocument.WriterDocument.1\ShellNew параметр FileName равен soffice.odt,
поэтому он и берётся из папки "Шаблоны" для текущего пользователя или из папки All Users\Шаблоны (место для шаблонов Apache OpenOffice по умолчанию).  (Apache OpenOffice)

Но в реестре есть и запись
HKEY_CLASSES_ROOT\.odt\LibreOffice.WriterDocument.1\ShellNew где параметр FileName равен C:\Program Files\LibreOffice 5\share\template\shellnew\soffice.odt   (LibreOffice)

k008

Цитата: Yakov от 11 января 2019, 10:40поэтому он и берётся из папки "Шаблоны" для текущего пользователя или из папки
Спасибо, проверил это как раз то что надо

Всем спасибо

k008

У себя на 10-ке openoffice заработало
1. Если шаблон в programdata
2. Если шаблон в папке пользователя

А вот на другом компьютере (10-ка) не заработало, хотя если в реестре прописать путь к файлу, то автор есть, а если не писать полный путь, то пусто

mikekaganski

Значит, на втором компьютере где-то лежит ещё один шаблон, который используется, если не прописан полный путь
С уважением,
Михаил Каганский

k008

Цитата: mikekaganski от 11 января 2019, 11:16Значит, на втором компьютере где-то лежит ещё один шаблон, который используется, если не прописан полный путь
Точно, я в этих шаблонах запутался, спасибо, разобрался, заработало всё

d.orlov

Добрый день.
Подскажите пжл, при замене файла шаблона (C:\Program Files (x86)\LibreOffice\share\template\shellnew\soffice.odt) у меня так и не получилось сделать чтобы при создании нового документа шаблон применялся.
В реестре Компьютер\HKEY_CLASSES_ROOT\.odt значение по Умолчанию равно odtfile, путь в ShelLNew идентичен тому что я написал выше