C users user desktop документ microsoft word docx

Документ Microsoft Word.docx

Имя файла: Документ Microsoft Word.docx
Размер файла: 214.78 KB
Файл загружен: 13/04/2021 19:48:15
Файл скачали: 1378

Поделиться этой ссылкой

<a href=»https://wdfiles.ru/902745″ target=»_blank» title=»Download from загрузить файл»>Скачать Документ Microsoft Word.docx — загрузить файл</a>

[url]https://wdfiles.ru/902745[/url]

QR-код это ссылка для мобильных устройств

подойдёт для вставки в документы или презентации.

Или получить файл на мобильное устройство, отсканировав QR-код программой с мобильного устройства

Приветствуем Вас на файлообменнике WdFiles.ru!

Ресурс WDfiles.RU был задуман как бесплатный файлообменник. Согласитесь, удобно с его помощью делиться файлами, или перемещать их с одного устройства на другое!

Всем спасибо за использование нашего ресурса!

Преимущества:

 Прямые загрузки. Без ожидания.

 Отсутствие рекламы.

 Неограниченное количество загрузок.

 Максимальная скорость загрузки.

 Техподдержка (support@wdfiles.ru).

 Неограниченная файловая зона.

 Файлы в премиум-аккаунте хранятся вечно.

 Загрузка файла размером свыше 10.00 GB .

 Отсутствие ограничения на загрузки.

 Низкая цена в сутки.

 Отсутствие подписок.

Здравствуйте, уважаемые коллеги! Прошу не судить строго, так как это моя первая статья.

У нас появилась необходимость отслеживать изменения в doc и docx файлах с фиксацией имени пользователя, который внес эти изменения. Сами файлы находятся в расшаренной папке (да, да, общие папки это зло, но убедить у меня не получилось) и необходимо знать кто внес изменения. Подробнее под катом.

Сами изменения в файлах будем отслеживать при помощи watchdog (pip install watchdog).

Код для отслеживания всех изменений:

# Для отслеживания изменений
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

# Отслеживаем изменения
class Watcher:
    def __init__(self, path):
        self.observer = Observer()
        self.path = path

    def run(self):
        event_handler = Handler()
        self.observer.schedule(event_handler, self.path, recursive=True)
        self.observer.start()
        try:
            while True:
                time.sleep(1)
        except:
            self.observer.stop()
            print("Error")

        self.observer.join()


class Handler(FileSystemEventHandler):
    @staticmethod
    def on_any_event(event):
        if event.is_directory:
            return None
        print(
            "[{}] noticed: [{}] on: [{}] ".format(
                time.asctime(), event.event_type, event.src_path
            )
        )
        

if __name__ == "__main__":
    w = Watcher('C:\Users\user\Desktop\')
    w.run()

Такой код позволяет отслеживать изменения во всех файлах (не показывая кто изменил) на рабочем столе пользователя. Естественно, папку «C:UsersuserDesktop» эту указал для примера.

Пример вывода:

[Mon Dec 5 14:32:37 2022] noticed: [modified] on: [C:UsersuserDesktopДокумент Microsoft Word.docx]

Тут нет информации о том, кто изменил файл. Эту информацию можно получить из самого docx файла.

Нам нужно отслеживать изменения именно в doc и docx файлах, поэтому переделаем код:

# -*- coding: utf-8 -*-

# Для атрибутов файла
import docx
# Для отслеживания изменений
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

# Отслеживаем изменения
class Watcher:
    def __init__(self, path):
        self.observer = Observer()
        self.path = path

    def run(self):
        event_handler = Handler()
        self.observer.schedule(event_handler, self.path, recursive=True)
        self.observer.start()
        try:
            while True:
                time.sleep(1)
        except:
            self.observer.stop()
            print("Error")

        self.observer.join()


class Handler(FileSystemEventHandler):
    @staticmethod
    def on_any_event(event):
        # if event.is_directory:
        #     return None
        # print(
        #     "[{}] noticed: [{}] on: [{}] ".format(
        #         time.asctime(), event.event_type, event.src_path
        #     )
        # )
        
        # Получаем атрибуты файла
        if '.tmp' in event.src_path:
            return None
        try:
            document = docx.Document(docx = event.src_path)
            core_properties = document.core_properties
            print(f'{core_properties.last_modified_by} в {core_properties.modified} модифицировал файл {event.src_path}')
        except:
            pass

if __name__ == "__main__":
    w = Watcher('C:\Users\user\Desktop\')
    w.run()

В данном примере изменения просто печатаются в консоль при помощи строки:

print(f'{core_properties.last_modified_by} в {core_properties.modified} модифицировал файл {event.src_path}’)

Пример вывода:

Иванов Иван Иванович в 2022-12-05 07:35:00 модифицировал файл C:UsersuserDesktopДокумент Microsoft Word.docx

Для журналирования можно использовать простейшую запись в файл:

f = open('change-doc.log','w')  # открытие в режиме записи
f.write(f'{core_properties.last_modified_by} в {core_properties.modified} модифицировал файл {event.src_path}n')  # запись в файл
f.close()  # закрытие файла

Или можно отправлять изменения на почту (если это востребовано):

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
 
fromaddr = "test@mail.ru"
toaddr = "test2@mail.ru"
mypass = "password"
 
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = f'Модифицирован файл {event.src_path}'
 
body = f'{core_properties.last_modified_by} в {core_properties.modified} модифицировал файл {event.src_path}'
msg.attach(MIMEText(body, 'plain'))
 
server = smtplib.SMTP_SSL('smtp.mail.ru', 465)
server.login(fromaddr, mypass)
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

Также приведу полный список атрибутов docx файла, которые можно таким же образом получить:

file_name = 'C:\Users\user\Desktop\123.docx'

document = docx.Document(docx = file_name)
core_properties = document.core_properties
print('author', core_properties.author)
print('created', core_properties.created)
print('last_modified_by', core_properties.last_modified_by)
print('last_printed', core_properties.last_printed)
print('modified', core_properties.modified)
print('revision', core_properties.revision)
print('title', core_properties.title)
print('category', core_properties.category)
print('comments', core_properties.comments)
print('identifier', core_properties.identifier)
print('keywords', core_properties.keywords)
print('language', core_properties.language)
print('subject', core_properties.subject)
print('version', core_properties.version)
print('keywords', core_properties.keywords)
print('content_status', core_properties.content_status)

Спасибо за внимание!!!

Максим_19

0 / 0 / 0

Регистрация: 15.04.2017

Сообщений: 10

1

18.06.2017, 12:45. Показов 1450. Ответов 3

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Здравствуйте. Как при сохранении файла указать его имя в виде текущей даты?
Делал так:

C#
1
 object filename = @"C:UsersUserDesktopОтчёты'"+date+"'.docx";

Но так ругается



0



Sigma214

44 / 44 / 24

Регистрация: 01.05.2012

Сообщений: 178

18.06.2017, 12:54

2

C#
1
2
DateTime dt;
object filename = @"C:UsersUserDesktopОтчёты'"+dt.Date.ToString()+"'.docx";

Вроде так можно сделать.



1



0 / 0 / 0

Регистрация: 15.04.2017

Сообщений: 10

18.06.2017, 13:03

 [ТС]

3

Спасибо, уже разобрался.
У даты нужно преобразовать в формат: dd_mm_yy вместо dd.mm.yy



0



Diamante

3453 / 2461 / 1169

Регистрация: 14.08.2016

Сообщений: 8,153

18.06.2017, 13:09

4

C#
1
.ToString("dd_MM_yy");



1



Sub макрос()

        Dim doc As Document

            ‘ Включение перехватчика run-ошибок, чтобы макрос продолжил работу при возникновении
        ‘ run-ошибки.
    On Error Resume Next
        ‘ Присваиваем файлу имя «doc». Если файл не открыт, то в переменной «doc» будет Nothing.
        Set doc = Documents(«C:UsersUserDesktopДокумент Microsoft Word.docx»)
    ‘ Отключение перехватчика ошибок, чтобы видеть непредвиденные ошибки.
    On Error GoTo 0

        ‘ Проверка, открыт файл или нет.
    If doc Is Nothing Then
        MsgBox «Файл не открыт.», vbInformation
    Else
        MsgBox «Файл открыт.», vbInformation
    End If

End Sub

[свернуть]

Как и большинство приложений, вы можете запустить Word из командной строки. Word также поддерживает несколько дополнительных параметров для управления процессом запуска.

Независимо от того, вводите ли вы команду в командной строке, используете ее для создания ярлыка, вставляете ее как часть пакетного сценария, запуск Word с дополнительными параметрами позволяет выполнять такие действия:

  • запуск Word в безопасном режиме для устранения неполадок;
  • запуск с помощью определенного шаблона.

Чтобы открыть Word с помощью командной строки, нам нужно выяснить, в каком каталоге находится исполняемый файл winword.exe. Вы можете сделать это вручную или использовать командную строку. Для этого нажмите значок «Лупа» рядом с кнопкой «Пуск» и в поиске наберите  «cmd “ и откройте командную строку, выбрав приложение ”Командная строка».

вызов командной строки виндовс 10

Когда вы откроете командную строку, вы окажетесь в каталоге верхнего уровня—папке учетной записи пользователя. Нам нужно переместиться глубже, в каталог Program Files. Для этого введите следующую команду и нажмите клавишу Enter:

cd”program files (x86)”

смена каталога в командной строке

Теперь вы будете находиться в каталоге Program Files. Следующий шаг — найти каталог, в котором находится файл winword.exe. Для этого введите следующую команду и нажмите “Enter.”

dir winword.exe /s

После ввода этой команды вы увидите расположение искомого файла. На скриншоте выделено желтой рамкой.

поиск файла в командной строке

Теперь, когда вы знаете, где находится winword.exe-файл,  используйте команду cd, чтобы открыть путь к файлу. Введите следующую команду:

cd Microsoft OfficeOffice16

Теперь вы переместитесь в каталог, где расположен исполняемый файл winword. Чтобы открыть Microsoft Word так же, как если бы вы открывали его через значок, все, что вам нужно сделать, это ввести winword, а затем нажмите “Enter”. Word откроется обычным способом.

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

Однако весь смысл использования команды заключается в том, что вы можете использовать различные ключи и параметры, которые она предлагает.

Запуск Word из командной строки с различными ключами и параметрами

Позаимствовано с официального сайта поддержки Microsoft Office, вот список некоторых возможных способов открыть Word, вместе с соответствующей командой.

Ключ и параметр Описание
/safe Запускает Word в безопасном режиме без каких-либо дополнительных надстроек, шаблонов и других настроек. Это полезно при устранении неполадок в Word.
Вы также можете запустить Word в безопасном режиме, удерживая клавишу Ctrl при запуске Word из меню Пуск
/q Запускает Word без отображения заставки Word.
/ttemplatename Запускает Word с новым документом на основе шаблона, отличного от обычного шаблона.
Пример: Предположим, мы хотели открыть документ, хранящийся на диске C под названием example.docx, тогда указываем следующую команду:/tc:example.docx  Примечание: не ставьте пробел между ключом и именем файла.
/t filename Запускает Word и открывает существующий файл.
Пример: чтобы запустить Word и открыть существующий файл пример.docx, хранящийся на диске C, введите следующее:/t c:пример.docx Чтобы открыть сразу несколько файлов, расположенные на диске C, введите следующее:/t c:пример.docx c:пример2.docx
/f filename Запускает Word с новым документом на основе существующего файла.
Пример: чтобы запустить Word и создать новый документ на основе файла пример.docx, хранящегося на рабочем столе, введите следующее:/f “C:UserspcuserDesktopпример.docx
/a Запускает Word и предотвращает автоматическую загрузку надстроек и глобальных шаблонов (включая обычный шаблон). Кроме того, он блокирует файлы настроек.
/m Запускает Word без запуска макросов AutoExec.
/n Запускает новый экземпляр Word без открытого документа. Документы, открытые в каждом экземпляре Word, не будут отображаться в списке переключателей Windows других экземпляров.
/r Перерегистрация Word в реестре Windows. Этот параметр запускает Word, запускает программу установки Office, обновляет реестр Windows и закрывает программу

Дорогой читатель! Вы посмотрели статью до конца.
Получили вы ответ на свой вопрос? Напишите в комментариях пару слов. Если ответа не нашли, укажите что искали или откройте содержание блога.

ОЧЕНЬ ВАЖНО! Оцени лайком или дизлайком статью!
Блог твой компьютер лайк   Блог твой компьютер дизлайк

Понравилась статья? Поделить с друзьями:
  • C underline the correct word e g the fireman
  • By default excel positions text in a cell
  • By borrowing or loan word we mean a word which came
  • C the microsoft office interop word
  • By any stretch of the word