//Возвращает что-то типо: C:\Documents and Settings\E.S.Migachev\Мои документы\ Функция КаталогМоиДокументы() Экспорт App = Новый COMОбъект("Shell.Application"); Folder = App.Namespace(5); Результат = ""; Попытка Результат = Folder.Self.Path; Исключение Результат = ""; КонецПопытки; Если Результат = "" Тогда Результат = КаталогВременныхФайлов(); КонецЕсли; Возврат Результат+"\"; КонецФункции
App = Новый COMОбъект("Shell.Application"); // Дополнительные данные получаем так: // Название - App.Namespace(26).Title // Путь - App.Namespace(26).Self.Path //Список доступных каталогов App.Namespace(1) // Internet Explorer пример - ::{871C5380-42A0-1069-A2EA-08002B30309D} App.Namespace(2) // Программы пример - C:\Documents and Settings\E.S.Migachev\Главное меню\Программы App.Namespace(3) // Панель управления пример - ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D} App.Namespace(4) // Принтеры и факсы пример - ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D} App.Namespace(5) // Мои документы пример - C:\Documents and Settings\E.S.Migachev\Мои документы App.Namespace(6) // Избранное пример - C:\Documents and Settings\E.S.Migachev\Избранное App.Namespace(7) // Автозагрузка пример - C:\Documents and Settings\E.S.Migachev\Главное меню\Программы\Автозагрузка App.Namespace(8) // Недавние документы пример - C:\Documents and Settings\E.S.Migachev\Recent App.Namespace(9) // SendTo пример - C:\Documents and Settings\E.S.Migachev\SendTo App.Namespace(10) // Корзина пример - ::{645FF040-5081-101B-9F08-00AA002F954E} App.Namespace(11) // Главное меню пример - C:\Documents and Settings\E.S.Migachev\Главное меню App.Namespace(13) // Моя музыка пример - C:\Documents and Settings\E.S.Migachev\Мои документы\Моя музыка App.Namespace(14) // Мои видеозаписи пример - C:\Documents and Settings\E.S.Migachev\Мои документы\Мои видеозаписи App.Namespace(16) // Рабочий стол пример - C:\Documents and Settings\E.S.Migachev\Рабочий стол App.Namespace(17) // Мой компьютер пример - ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} App.Namespace(18) // Сетевое окружение пример - ::{208D2C60-3AEA-1069-A2D7-08002B30309D} App.Namespace(19) // NetHood пример - C:\Documents and Settings\E.S.Migachev\NetHood App.Namespace(20) // Fonts пример - C:\WINDOWS\Fonts App.Namespace(21) // Шаблоны пример - C:\Documents and Settings\E.S.Migachev\Шаблоны App.Namespace(22) // Главное меню пример - C:\Documents and Settings\All Users\Главное меню App.Namespace(23) // Программы пример - C:\Documents and Settings\All Users\Главное меню\Программы App.Namespace(24) // Автозагрузка пример - C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка App.Namespace(25) // Рабочий стол пример - C:\Documents and Settings\All Users\Рабочий стол App.Namespace(26) // Application Data пример - C:\Documents and Settings\E.S.Migachev\Application Data App.Namespace(27) // PrintHood пример - C:\Documents and Settings\E.S.Migachev\PrintHood App.Namespace(28) // Application Data пример - C:\Documents and Settings\E.S.Migachev\Local Settings\Application Data App.Namespace(31) // Избранное пример - C:\Documents and Settings\All Users\Избранное App.Namespace(32) // Temporary Internet Files пример - C:\Documents and Settings\E.S.Migachev\Local Settings\Temporary Internet Files App.Namespace(33) // Cookies пример - C:\Documents and Settings\E.S.Migachev\Cookies App.Namespace(34) // History пример - C:\Documents and Settings\E.S.Migachev\Local Settings\History App.Namespace(35) // Application Data пример - C:\Documents and Settings\All Users\Application Data App.Namespace(36) // WINDOWS пример - C:\WINDOWS App.Namespace(37) // system32 пример - C:\WINDOWS\system32 App.Namespace(38) // Program Files пример - C:\Program Files App.Namespace(39) // Мои рисунки пример - C:\Documents and Settings\E.S.Migachev\Мои документы\Мои рисунки App.Namespace(40) // E.S.Migachev пример - C:\Documents and Settings\E.S.Migachev App.Namespace(41) // system32 пример - C:\WINDOWS\system32 App.Namespace(43) // Common Files пример - C:\Program Files\Common Files App.Namespace(45) // Шаблоны пример - C:\Documents and Settings\All Users\Шаблоны App.Namespace(47) // Администрирование пример - C:\Documents and Settings\All Users\Главное меню\Программы\Администрирование App.Namespace(48) // Администрирование пример - C:\Documents and Settings\E.S.Migachev\Главное меню\Программы\Администрирование App.Namespace(49) // Сетевые подключения пример - ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7007ACC7-3202-11D1-AAD2-00805FC1270E} App.Namespace(53) // Музыка (общая) пример - C:\Documents and Settings\All Users\Документы\Моя музыка App.Namespace(54) // Рисунки (общие) пример - C:\Documents and Settings\All Users\Документы\Мои рисунки App.Namespace(55) // Видео (общее) пример - C:\Documents and Settings\All Users\Документы\Мои видеозаписи App.Namespace(56) // Resources пример - C:\WINDOWS\Resources App.Namespace(57) // 0419 пример - C:\WINDOWS\Resources\0419 App.Namespace(59) // CD Burning пример - C:\Documents and Settings\E.S.Migachev\Local Settings\Application Data\Microsoft\CD Burning
ВозможныеИменаФайлаШрифтаEANGNIVC = Новый Массив; ВозможныеИменаФайлаШрифтаEANGNIVC.Добавить("EANGNIVC.TTF"); ВозможныеИменаФайлаШрифтаEANGNIVC.Добавить("EANG000.TTF"); Попытка objShell = Новый COMОбъект("Shell.Application"); objFolder = objShell.Namespace(20); ПутьККаталогуШрифтов = objFolder.Items().Item().Path; Если Прав(ПутьККаталогуШрифтов, 1) <> "\" Тогда ПутьККаталогуШрифтов = ПутьККаталогуШрифтов + "\"; КонецЕсли; ФайлШрифтаСуществует = Ложь; Для Каждого ВозможноеИмяФайлаШрифта Из ВозможныеИменаФайлаШрифтаEANGNIVC Цикл ОбъектФайлШрифтаВКаталогеШрифтов = Новый Файл(ПутьККаталогуШрифтов + ВозможноеИмяФайлаШрифта); Если ОбъектФайлШрифтаВКаталогеШрифтов.Существует() Тогда ФайлШрифтаСуществует = Истина; Прервать; КонецЕсли; КонецЦикла; Если НЕ ФайлШрифтаСуществует Тогда ВремКаталог = КаталогВременныхФайлов() + Строка(Новый УникальныйИдентификатор) + "\"; СоздатьКаталог(ВремКаталог); ВремФайлШрифта = ВремКаталог + ВозможныеИменаФайлаШрифтаEANGNIVC[0]; Обработки.ОбщиеОбъектыРегламентированнойОтчетности.ПолучитьМакет("EANGNIVC").Записать(ВремФайлШрифта); objFolder.CopyHere(ВремФайлШрифта); УдалитьФайлы(ВремКаталог); КонецЕсли; objFolder = Неопределено; objShell = Неопределено; Исключение КонецПопытки;