Как определить путь к папке "рабочий стол" ? #333082


#0 by r1000
Нужно после формирования отчета сохранять на рабочий стол файл. Как определить путь ? Понятно, что можно дать возможность пользователю выбрать, потом сохранить... Но все-же нужно именно определять программно. Обработка может запускаться с разным компов.
#1 by PaulRom
может так.. %USERPROFILE%Рабочий стол
#2 by Широкий
Рабочий стол
#3 by FN
Пуск - выполнить - cmd - set
#4 by Мяв-Мяв
~/Desktop/ в любом линухе в форточках можно так же.
#5 by smaharbA
уверен ?
#6 by smaharbA
- тоже совсем не обязательно
#7 by Salvador Limones
WSH=Новый COMobject("wscript.shell"); Сообщить(WSH.SpecialFolders("Desktop"));
#8 by FN
+ это точно... лучше через реестр смортеть
#9 by Salvador Limones
+ Меня не читать, я гоню.
#10 by Мяв-Мяв
иди про форматы отвечай, заждался уже.
#11 by 1сTalik
Шелл=СоздатьОбъект("WScript.Shell"); ИмяПользователяСистемы = Шелл.ExpandEnvironmentStrings("%Username%");     Если ФС.СуществуетФайл("C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"Desktop")=1 тогда       Если ФС.СуществуетФайл("C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"DesktopОшибки_Проведения")=0 тогда        ФС.СоздатьКаталог("C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"DesktopОшибки_Проведения");        ПутьСохраненияОшибок = "C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"DesktopОшибки_Проведения";       КонецЕсли; ИначеЕсли ФС.СуществуетФайл("C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"Рабочий стол")=1 тогда       Если ФС.СуществуетФайл("C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"Рабочий столОшибки_Проведения")=0 тогда                    ФС.СоздатьКаталог("C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"Рабочий столОшибки_Проведения");        ПутьСохраненияОшибок = "C:Documents and Settings"+СокрЛП(ИмяПользователяСистемы)+"Рабочий столОшибки_Проведения";       КонецЕсли; КонецЕсли;
#12 by r1000
Но все равно, спасибо...
#13 by 1сTalik
О.... теперь знать буду )))
#14 by Salvador Limones
Не, этот код в восьмёре не пашет.
#15 by YF
Прикольно, тока не факт, что будет работать ...
#16 by 1сTalik
Так надо для 8ки?.... в 7ке точно пашет, сам когда то писал и пользовал ))
#17 by YF
А кто сказал, что профиль пользователея лежит в папке, имя которой совпадает с именем пользователя?
#18 by FN
смотри в реестре по адресу HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders там Desktop
#19 by Salvador Limones
Вот для восьмёры код: Функция ПолучитьСистемнуюПапку(Имя)    Попытка        СкриптКон = Новый COMОбъект("MSScriptControl.ScriptControl");        СкриптКон.Language = "vbscript";        СкриптКон.AddCode("        |Function SpecialFolders(Name)        |Set Shell = CreateObject(""Wscript.Shell"")        |SpecialFolders = Shell.SpecialFolders(Name)        |End Function");        ИмяПапки = СкриптКон.Run("SpecialFolders", Имя);    Исключение        ИмяПапки = Неопределено;    КонецПопытки;    Возврат ИмяПапки;     КонецФункции И там где нужно, пишем: Сообщить(ПолучитьСистемнуюПапку("Desktop"));
#20 by 1сTalik
Да, тут ты прав....слава богу, что приходится работать с организациями, где винду умеют переставлять нормально....поэтому код был рабочим, и ни разу не было косяка. Но на будущее учтемс )
#21 by smaharbA
Еще один вариант, очень правильный и очень полезный еще для многого... давно овечено и во многих ветках. только неслышите...
#22 by smaharbA
у меня профили тут к примеру - "\appDocument$Руководители объектовГруппа 1Гужва_АИ" вложенность и названия и расположение вообще, зависит от многих значений, профили летают автоматом (и для вин и частично для лин)
#23 by 1сTalik
Это у тебя перемещаемые профили, которые при логоне юзера копируются все равно в document and settigs............ на его машину, а потом при выходе синхронизируются с той папкой, которую ты указал.
#24 by smaharbA
да ну ?
#25 by smaharbA
+ это не совсем профили, это перемещаемые папки, но есть часть и профили, и нету их локально никогда...
#26 by 1сTalik
Хочешь сказать, что это не перемещаемый профиль?
#27 by 1сTalik
у тя винда стоит?
#28 by smaharbA
да... это перемещаемые папки, но и профили могут быть абсолютно отвязанные от компьютера (почти)...
#29 by 1сTalik
Как можно сделать почти "абсолютно" отвязать профиль от компа. Я всегда думал, что при входе, он копирует его к себе, если это конечно не терминальное подключение
#30 by 1сTalik
+ в первом предложении знак вопроса пропустил )
#31 by smaharbA
не копирует, остаются только темп и нтусер.дат
#32 by SPV82
еще Local Settings
#33 by 1сTalik
Пока не расскажешь как такое делается, не поверю
#34 by Ангел-Хоронитель
перенаправление папок...
#35 by 1сTalik
Ага, уже нашел в инете.....спасибо
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С