Страницы: 1
RSS
Application.UserName
 
Ниже привел часть кода, который сохраняет книгу под определенным именем в папку "разное" на рабочем столе. nm и naz - ранее обозначенные переменные. Проблема в следующем: при переносе исходного файла на другой комп и запуске кода у некоторых пользователей все ОК, а у многих других выдается ошибка в строке, содержащей переменную un. Стоит заменить переменную на имя - все ОК.    
Может кто знает - какая икселю разница, почему как-то выборочно действует (если уж ошибка, так пусть бы везде и у всех...ан нет) и как это забороть? Можно конечно сохранять на диск или папку "разное" создать на самом диске, чтоб с Application.UserName не париться, но интересно, чего не работает-то?  
 
un = Application.UserName  
nnm = nm + "_" + naz  
ChDir "C:\Documents and Settings\" & (un) & "\Desktop\разное"  
   ActiveWorkbook.SaveAs Filename:= _  
       "C:\Documents and Settings\" & (un) & "\Desktop\разное\" & (nnm) & ".xls" _  
       , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _  
       ReadOnlyRecommended:=False, CreateBackup:=False
 
Application.UserName - это Сервис - Параметры - Общие - Имя пользователя. Оно:  
1. Может быть пустым, тогда будет ошибка с путем к файлу вида C:\Documents and Settings\\Desktop\разное  
2. Может не совпадать с именем юзера в винде.  
Строго говоря "Documents and Settings" Могут располагаться где угодно, а не только на диске С.  
Вам нужен путь к рабочему столу юзера?  
Берите: iPathDesktop = CreateObject("WScript.Shell").SpecialFolders("Desktop")  
Или имя юзера?  
iUserName = CreateObject("WScript.Network").UserName
 
{quote}{login=Лузер™}{date=26.05.2008 10:59}{thema=}{post}Application.UserName - это Сервис - Параметры - Общие - Имя пользователя. Оно:  
1. Может быть пустым, тогда будет ошибка с путем к файлу вида C:\Documents and Settings\\Desktop\разное  
2. Может не совпадать с именем юзера в винде.  
Строго говоря "Documents and Settings" Могут располагаться где угодно, а не только на диске С.  
Вам нужен путь к рабочему столу юзера?  
Берите: iPathDesktop = CreateObject("WScript.Shell").SpecialFolders("Desktop")  
Или имя юзера?  
iUserName = CreateObject("WScript.Network").UserName{/post}{/quote}  
 
спасибо, попробую
Страницы: 1
Читают тему
Наверх