Имя: Пароль:
1C
Админ
v7: Переменные среды %%
,
0 Maximysis
 
20.07.12
08:25
Всем привет!
Как можно без диалога выбора файла получить путь с системной переменной
"%USERPROFILE%\Desktop\111.xls" - например. для работы с этим файлом.
???
1 ДенисЧ
 
20.07.12
08:29
echo %USERPROFILE% > c:\111.txt
и прочитать
2 dk
 
20.07.12
08:29
ты что хотел-то?
3 Maximysis
 
20.07.12
08:32
(2)работать с этим файлом, открыть ФС записать и тд..
4 dk
 
20.07.12
08:39
(1) + можно без файла

set WshShell = WScript.CreateObject("WScript.Shell")
msgbox WshShell.ExpandEnvironmentStrings("%USERPROFILE%"), vbsOk

----------
(3) ну и что тебя смущает?

Сообщить(ФС.СуществуетФайл("%USERPROFILE%\Desktop\111.xls"));
5 Maximysis
 
20.07.12
08:51
(4) Дело в том что
Сообщить(ФС.СуществуетФайл("%USERPROFILE%\Desktop\111.xls"));
не работает возврощает 0
%% 1с7 не понимает...
6 Maximysis
 
20.07.12
08:52
а Сообщить(ФС.СуществуетФайл("C:\Users\Desktop\111.xls"));
все ок -1
7 Maximysis
 
20.07.12
08:52
C:\Users\Maxim\Desktop\111.xls
8 dk
 
20.07.12
08:57
Значит через shell получай значение %USERPROFILE%
9 Maximysis
 
20.07.12
09:07
(8)? как? через апи
10 ДенисЧ
 
20.07.12
09:08
(9) Читаем внимательно (4).
Очень внимательно.

Если не поняли, читаем ещё раз...
11 Maximysis
 
20.07.12
09:18
(10) Со скриптом не красиво, может как еще можно....
12 dk
 
20.07.12
09:20

Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language="vbscript";
Скрипт.AddCode("Function My()
   |    set WshShell = CreateObject(""WScript.Shell"")
   |    My = WshShell.ExpandEnvironmentStrings(""%USERPROFILE%"")
   |End Function");
Сообщить(Скрипт.Eval("My"));
13 dk
 
20.07.12
09:21
14 Maximysis
 
20.07.12
09:39
Самое интересное что если
ФС.ВыбратьФайл (1, ИмяФайла, "%USERPROFILE%\Desktop\", "Укажите имя файла Excel", "Книга Microsoft Excel (*.xls)|*.xls","xls")
то работает....
15 Maximysis
 
20.07.12
09:47
(12) (13) dk спасибо за скрипт если не как не получаться воспользуюсь им.
У меня предрассудки по поводу внешних средств(( может я и не прав.