2016-04-20 4 views
1

Могу ли я спросить, как я могу сделать имя в качестве переменной (ex. %userprofile%):VBScript с использованием BGInfo objfso

Set objFile = objFSO.OpenTextFile("c:\users\username\AppData\Roaming\Samplefolder\sampletext.txt", 1) 

Я предполагаю, что это потому, что это строка с " ".

Заранее благодарен!

+0

кстати .. когда я пытаюсь изменить его на «% имя пользователя%/appdate/...» он возвращает ошибку: «Ошибка вычисления скриптового поле» – Alex

+0

Пожалуйста, используйте теги кода в ваши вопросы. Спасибо. – Clijsters

ответ

2

Чтобы получить userprofile, вам необходимо использовать объект Shell. Пример сценария будет

dim objShell, strPath, objFSO, objFile 
Set objShell = WScript.CreateObject("WScript.Shell") 
strPath = objShell.ExpandEnvironmentStrings("%UserProfile%") 
strPath = objFSO.BuildPath(strPath, "AppData\Roaming\Samplefolder\sampletext.txt") 

set objFSO = CreateObject("Scripting.FileSystemObject") 
set objFile = objFSO.OpenTextFile(strPath,1) 
+0

большое спасибо pal! Я попробую это! – Alex

+0

Привет, Pankaj, он возвращает ошибку с wscript - set objShell = Wscript.CreateObject ("Wscript.Shell") – Alex

+0

@Alex - Используете ли вы файл ExcelVBA или VBScript (.vbs)? Попробуйте 'Set objShell = CreateObject (« Wscript.Shell »)' –

Смежные вопросы