PDA

Показать полную графическую версию : [решено] Как создать подробную обновляемую информацию о документе в полях экспресс блоков?


BolgarchukR
27-03-2017, 20:09
Подскажите пожалуйста, как можно добавить в сам документ с помощью экспресс блоков разные данные о документе. Нашел как добавлять количество страниц, размер, дату редактирования. Но вставить вот это поле { = { NUMCHARS } / { NUMWORDS } } типа "= (Formula)" вычисляет среднюю длину слова путем деления числа знаков на число слов. Почему-то не удается. Я в этом не силен, если у кого есть возможность расскажите подробнее, как и куда вставлять эту формулу. У меня почему-то ни в 10 ни в 2013 или 2016 не срабатывает. Т.е. готовые я могу добавлять, а как вставить такую формулу? Еще хотелось бы что бы можно было вывести данные о количестве изображений в документе и количестве гиперссылок. Опять же не знаю, как это сделать. Ключевые слова… Ну это уже совсем наверно не возможно… Или возможно?
П.с. постараюсь прикрепить документ с тем что у меня уже получилось. Может кому-то пригодится и для наглядности.

Iska
27-03-2017, 21:27
Т.е. готовые я могу добавлять, а как вставить такую формулу? »
http://i.imgur.com/ASzPm3d.png
Вставили поле Формула, переключились в режим отображения кодов полей и поместили курсор ввода внутрь вставленной формулы (1), ввели ручками NUMCHARS (2), выделили NUMCHARS (3), нажали Ctrl-F9, преобразовав текст в поле (4), ввели символ /, ввели ручками NUMWORDS (5), выделили NUMWORDS (6), нажали Ctrl-F9 (7). Обновили поле (8), переключились в режим отображения значений полей (9).

Кстати, поле формулы можно вводить так же — сначала ввести =, затем выделить его и нажать Ctrl-F9. Делать это можно как до создания внутренних полей, так и после.

Еще хотелось бы что бы можно было вывести данные о количестве изображений в документе и количестве гиперссылок. »
Боюсь, что полями такого не сделать, если токмо не появились новые свойства у документа, або новые поля. Можно вставить потребное макросом, но это будет просто необновляемый автоматически текст.

Ключевые слова… Ну это уже совсем наверно не возможно… Или возможно? »
Так есть же поле Keywords.

BolgarchukR
30-03-2017, 17:50
Ах вот оно как. Весь фокус в Ctrl-F9. А я скобочки руками писал и думаю чего оно у меня не работает )))
Спасибо!
Не. Макрасом не хочется. Поля в данном случае, на мой взгляд более элегантное решение.
Так есть же поле Keywords. »
Плохо что все они эти поля по английскому. Пока догадаешься какое что значит. Может где то есть русский перевод, список всех полей?

Iska
30-03-2017, 18:08
В 2003-м вот так:
http://i.imgur.com/2pDilq9.png
И справка:
http://i.imgur.com/gE7VQHK.png
В новых версиях разве нет чего-либо подобного?

BolgarchukR
07-04-2017, 11:31
Так есть же поле Keywords. »
он добавляет ключевые слова из свойств документа. Т.е., насколько я понял, их надо как то ручками туда вписать, поправьте, пожалуйста, если не прав. Но хотелось бы это делать не в ручную, а автоматический. Как к примеру в програмке Wordstat или в идеале как на сайте https://advego.ru/text/seo/ . Конечно можно копировать не большие тексты и получать данную информацию от туда, но все же это не всегда приемлемо. Можно ли как то реализовать хотя бы некоторые функции прямо в ворде? Например, интересует «Количество уникальных слов», «Количество грамматических ошибок». И собственно десяток ключевых слов. Например, в шапке данной темы 4 раза встречается слово «документ», поэтому оно ключевое. Естественно союзы, предлоги и т.д. не учитываются.

Iska
07-04-2017, 12:29
BolgarchukR, я Вас понял. Это банальный статистический анализ, собственно, к ключевым словам отношения не имеющий. Заявка на «семантический» — это, конечно, сильно сказано. И «документ» никак не может служить ключевым словом для шапки.

BolgarchukR
07-04-2017, 21:46
Iska, ну если не семантический, то хотя бы статистический анализ подвластен ворду? Или до сих про приходится пользоваться сторонним софтом?
И «документ» никак не может служить ключевым словом для шапки. »
может я не правильно выразился, извиняюсь. Постоянно почему-то думал что ключевые слова, это какие то уникальные слова которые часто встречаются в тексте. Ради примера скопировал текст сообщения из шапки, вставил его по ссылке выше и мне выдало что слово "документ" встречается больше всего. Естественно, на сколько я понял оно не учитывало предлоги, междометия и т.д.
Может в будущих версиях с ворда сделают таки полноценный текстовой процессор. Вроде задача не хитрая раз на сайте можно текст проанализировать. А нет, и на том спасибо. Буду гуглить «семантический» анализ и надеяться на разработчиков...

Iska
08-04-2017, 01:15
ну если не семантический, то хотя бы статистический анализ подвластен ворду? »
Не интересовался.

Или до сих про приходится пользоваться сторонним софтом? »
Наверняка есть какие-нибудь сторонние надстройки к нему.

почему-то думал что ключевые слова, это какие то уникальные слова которые часто встречаются в тексте »
Нет. Откройте блог Вадима: Вадим Стеркин – Think Outside the Box! (http://www.outsidethebox.ms/). Видите:http://i.imgur.com/ojS3TPI.pngк каждому сообщению прикреплено даже два вида рубрикатора: рубрики и метки. И там, и там — ключевые слова. Рубрики позволяют получить более общий срез, а метки действуют как привязанные тэги. Вот это и есть ключевые слова — то, что позволяет делать срез, отбор потребных сущностей (в данном случае — отдельных сообщений в блоге) среди прочих. Тому же самому служат метатэги keywords в html-документах.

Вроде задача не хитрая раз на сайте можно текст проанализировать. А нет, и на том спасибо. Буду гуглить «семантический» анализ и надеяться на разработчиков... »
Коллега, приличный семантический анализ пока может сделать только человек. Ручками. И никаких подвижек в этом плане не предвидится. Автоматизиция здесь в лучшем случае может только слегка облегчить задачу. Никакие ново- и старомодные концепции и средства недо-AI никак не помогут.

Впрочем, если Вас не интересует конечный результат — то ищите, и обрящите: Остапов Бендеров на этом поприще навалом.

BolgarchukR
14-04-2017, 12:29
Iska, спасибо за развернутый ответ. Не хочется открывать новую тему из за мелких нюансов, подскажите пожалуйста еще такой момент: есть поле DOCPROPERTY TotalEditingTime \* MERGEFORMAT Общее время редактирования (total editing time). Искал не где не нашел 1 - в чем оно? В минутах, секундах, часах? И второй вопрос, подскажите пожалуйста, можно как то его изменить. Например написать 2 часа 11 мин. Т.е. вставить формулу которая переводит минуты в часы, часы в дни. Или может как то проще реализовать данную идею. Так же хотелось бы без макросов. Что бы это было обновляемое поле.

Iska
14-04-2017, 16:36
Искал не где не нашел 1 - в чем оно? В минутах, секундах, часах? »
В минутах. Откройте документ, который Вы явным образом редактировали больше часа. Вставьте данное поле. Обновите. И посмотрите, что получилось ;).

можно как то его изменить. Например написать 2 часа 11 мин. »
{=INT({DOCPROPERTY TotalEditingTime} / 60 ) \# "0 'ч.'} {={DOCPROPERTY TotalEditingTime} - INT({DOCPROPERTY TotalEditingTime} / 60 ) * 60 \# "0 'мин.'}
http://i.imgur.com/IPc6UIO.png

http://i.imgur.com/Qm19GYm.png
Помните, что фигурные скобки добавляются не руками? Я их привёл для синтаксиса. Вы действуете обычным образом: скопировали код, вставили в документ, удалили фигурные скобки при первом поле:
{=INT({DOCPROPERTY TotalEditingTime} / 60 ) \# "0 'ч.'} {={DOCPROPERTY TotalEditingTime} - INT({DOCPROPERTY TotalEditingTime} / 60 ) * 60 \# "0 'мин.'}
выделили будущее содержимое поля:
{=INT(DOCPROPERTY TotalEditingTime / 60 ) \# "0 'ч.'} {={DOCPROPERTY TotalEditingTime} - INT({DOCPROPERTY TotalEditingTime} / 60 ) * 60 \# "0 'мин.'}
нажали Ctrl-F9, получили поле. Далее действуете таким же образом — сначала создаёте внутренние поля, затем обрамляющие их.

BolgarchukR
14-04-2017, 22:07
Спасибо! Сработало. Хотя, не с первого раза. Жаль, что нельзя копировать рабочий код и просто его вставлять, приходится делать по кусочкам. Впрочем, если сильно захочется поделиться уже готовым, то думаю можно сделать документ типа такого как я дал в шапке. Но все токи важнее разобраться в принципах работы и делать самому. Интересно, какие еще полезные возможности скрывают поля. Надо будет поискать как выводить стандартную статистику, та что доступна при нажатии на "число слов". Я пока нашел как полями добавлять "число знаков без пробелов" { NUMCHARS \* Arabic \* MERGEFORMAT }, еще поищу как добавить "число знаков с пробелами", количество абзацев и строк.

Iska
14-04-2017, 22:51
Жаль, что нельзя копировать рабочий код и просто его вставлять »
Обратное — как скопировать его с Word'а — тоже верно :). При попытке копирования, Word помещает в буфер обмена множество форматов: http://i.imgur.com/cbmHsSo.pngно простого, банального текста, который бы можно было просто взять и вставить в виде готового кода на форуме — нетути :(. Так и приходится ручками набивать.

Можно, конечно, выцарапывать кусочки из форматов RTF или HTML, но это будет ещё медленнее.

BolgarchukR
18-04-2017, 12:03
Обратное — как скопировать его с Word'а — тоже верно »
Да, увы... Наверно пока лучший вариант решения данной проблемы это делится готовыми документами с кодом. А при необходимости обсудить код копировать его и распознавать скринсервером файнридера.
У меня еще возникла необходимость вывести в данном поле путь к документу. Есть FILENAME \p \* MERGEFORMAT показывающий и путь, и имя документа. Есть просто FILENAME \ * MERGEFORMAT показывающий одно только имя файла. А как вывести путь без имени? Это могло бы быть полезно, к примеру, для использования данного поля в макросах и актокликерах. Тогда когда понадобиться открыть не файл, а именно путь где он расположен. Т.е. можно скопировать данное поле вставить в адресную строку, и откроется соответствующая папка. Если же брать с именем, то откроется не папка а файл. Как удалить имя с пути?

Iska
18-04-2017, 13:30
BolgarchukR, не вижу вариантов решения без участия макроса.

BolgarchukR
20-04-2017, 19:17
Может кому надо попробую прикрепить файл (https://yadi.sk/i/aKoqh9UW3HBUwX) в котором по аналогии сделал возможность показывать в днях часах и минутах редактирование, и более удобный рзамер файла. Вроде создать такой код, дело не хитрое, но пришлось помучатся.
не вижу вариантов решения без участия макроса »
Жаль. Ну тогда, если не затруднит дайте пожалуйста макрос. А то я в них не силен.

Iska
21-04-2017, 23:19
дайте пожалуйста макрос.»
Option Explicit

Sub InsertDocumentPath()
If Len(Trim(ActiveDocument.Path)) > 0 Then
With Selection
.Collapse wdCollapseStart

If .Type = wdSelectionIP Then
.InsertAfter ActiveDocument.Path
End If
End With
Else
MsgBox "Save new document before using macro", vbInformation + vbOKOnly, "New document"
End If
End Sub




© OSzone.net 2001-2012