Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Место хранения недавно открытых файлов MS Word 2003 (http://forum.oszone.net/showthread.php?t=347397)

test009 20-12-2020 13:31 2943543

Место хранения недавно открытых файлов MS Word 2003
 
Подскажите, где хранится вот эта информация:
Список недавно открытых файлов в Word



Я пробовал выяснить это с помощью Procmon, но безуспешно.
Делал так: называл имя файла уникальным именем типа aaaaaaaaaa.doc
Записывал события в procmon для процесса winword.exe.
И пытался найти это aaaaaa среди событий реестра и файловых операций.
Это не помогло.
Подскажите, как найти куда пишется эта инфа?

Iska 20-12-2020 13:46 2943545

Посмотрите в "%AppData%\Microsoft\Office\Последние файлы" (для локализованной версии). И там не только для Word.

test009 20-12-2020 17:04 2943576

Возникла проблема с этим методом.
Для файлов с расширением xlsx - в папке "Последние файлы" появляется нечто подобное: CVT12D6.tmp
Ярлык ведет на C:\Users\temp1\AppData\Local\Temp\CVT12D6.tmp
Я хотел построить некоторую логику на основе последних открытых файлов, получая путь на открытый doc/docx/xls/xlsx-файл.
Но это все портит.

Также заметил, что если удалить из этой папки ярлык, то соответствующий пункт в меню "Файл" из скриншота выше - не пропадает.
То есть эта инфа о ранее открытых файла хранится где-то еще...
Вдруг кто знает, где все же она хранится?

Iska 21-12-2020 16:56 2943682

Цитата:

Цитата test009
Я хотел построить некоторую логику на основе последних открытых файлов, получая путь на открытый doc/docx/xls/xlsx-файл. »

Стройте, но по отдельным приложениям и в расчёте на заданное количество элементов (умолчальное можно увеличить, в том числе и групповой политикой, помнится), например:
Код:

Option Explicit

Sub Sample()
    Dim objRecentFile As RecentFile
   
   
    For Each objRecentFile In Application.RecentFiles
        Debug.Print objRecentFile.Name, objRecentFile.Path
    Next
End Sub


megaloman 21-12-2020 18:33 2943689

test009, А зачем Вам это нужно? Для Windows 7 Excel 2010 список файлов нашел в
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\File MRU
Проверил: при удалении из реестра значения с файлом он исчезает из списка.
Аналогичная ветка реестра и для Word.
Естественно, для другого офиса путь надо скорректировать, у меня нет под руками Office 2003.
Повторюсь: вот, предположим, я прав и список найден, а что дальше?
Ради развлечения: батник, который выводит этот список.
Код:

@Echo Off
cls
        Call :Out "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\File MRU"
        Call :Out "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\File MRU"
Exit /B

:Out
        FOR /F "tokens=2 delims=*" %%f IN ('REG QUERY %1') DO Echo %%f
Pause
Exit /B


Iska 21-12-2020 19:50 2943698

1. HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Recent Files
2. How to edit Windows registry to clear the list of most recently used files - Office | Microsoft Docs

:).

test009 22-12-2020 19:08 2943830

Цитата:

Цитата megaloman
А зачем Вам это нужно? »

Я делаю хоткеи в проге AutoHotkey, облегчающие рутинные действия при ежедневной работе с разными приложениями.
Зная путь к открытому документу - по F12 открываю папку, где он находится.
Или закрываю файл и удаляю его с диска (для быстрого разбора всяких ненужных документов, валяющихся на диске).
Или отправляю его коллеге по почте.


Время: 20:50.

Время: 20:50.
© OSzone.net 2001-