Страницы: 1
RSS
нужен макрос для сохранения книги на рабочий стол
 
Добрый день  
Мне нужен макрос для сохранения книги на рабочий стол. Сейчас сохраняет на мой рабочий стол, а нужно чтобы на любой рабочий стол, т.е. вставил флешку в любой комп и при выполнении макроса книга сохранялась на рабочий стол именного того компа, на котором был запущен файл
 
Sub Макрос()  
   ПутьКРабочемуСтолу = CreateObject("WScript.Shell").SpecialFolders("Desktop")  
   ActiveWorkbook.SaveAs ПутьКРабочемуСтолу & "\ИмяФайла.xls"  
End Sub
 
с этим макросом кидает в папку C:\Users\Олег  
(Windows 7)
 
Записано макрорекордером:  
 
Sub Макрос1()  
   ChDir "C:\ляляля\Рабочий стол"  
   ActiveWorkbook.SaveAs Filename:= _  
       "C:\ляляля\Рабочий стол\111.xlsm", FileFormat:= _  
       xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False  
End Sub
Редко но метко ...
 
Видимо, в Windows7 путь к рабочему столу надо получать как-то иначе...  
(я тестирован данный код только под WindowsXP)  
 
Для проверки запустите такой макрос, и скажите, какой путь появляется в сообщении (если вообще будет выведен какой-то текст):  
 
Sub test()  
   MsgBox CreateObject("WScript.Shell").SpecialFolders("Desktop")  
End Sub  
 
 
PS: Если у кого установлена Win7 - пожалуйста, проверьте макрос, и сообщите о результате.
 
{quote}{login=kovax}{date=29.11.2010 04:16}{thema=}{post}с этим макросом кидает в папку C:\Users\Олег  
(Windows 7){/post}{/quote}  
Правильно, т.к. нужны права администратора. В Windows7 даже рабочий стол защищён правами администратора. Нужно Ваш файлик Excel с макросом запускать от имени администратора, тогда его и сохраните на рабочем столе.
 
сейчас попробую  
я же писал, что у меня в данный момент прописан в макросе адрес моего рабочего стола и всё прекрасно сохраняет без прав администратора, мне же нужно, чтобы я открыв свой файл с флешки любого другого компьютера, нужный мне лист сохранялся на рабочем столе этого компьютера
 
при выполнении вышенаписаноого макроса выскакивает сообщение с таким адресом C:\Users\Олег\Desktop
 
Согласно требованиям темы, Вам предоставили код сохранения книги на рабочий стол, теперь Вы говорите о нужном листе. Что потом еще нужно будет?
<FONT COLOR="CadetBlue">
 
{quote}{login=kovax}{date=29.11.2010 05:23}{thema=}{post}при выполнении вышенаписаноого макроса выскакивает сообщение с таким адресом C:\Users\Олег\Desktop{/post}{/quote}  
 
Значит, предложенный мной код должен работать как надо.  
 
Надеюсь, в этой строке:  
ActiveWorkbook.SaveAs ПутьКРабочемуСтолу & "\ИмяФайла.xls"  
 
вы не убрали слеш перед именем файла?
 
неправильно выразился, нужно сохранить книгу.
 
EducatedFool, спасибо, ваш макрос работает
 
я скорее всего действительно первый раз когда пробовал удалил слеш
Страницы: 1
Читают тему
Наверх