Страницы: 1
RSS
Макрос для сохранение в подпапку той же папки, в которой находится файл
 
Добрый день, мне нужна Ваша помощь.  
Я написал макрос который копирует данные из excel в word, и сохроняет их в определенное место. Проблема в том, что путь сохранения строго указан. А файл может перемещаться, и соответственно путь сохранения будет тоже меняться. Нужно сделать так, чтобы макрос сохранял документ word в подпапку той же папки, в которой находится файл.(Например Файл с макросом находится в папке С:\File\январь\ и сохраняет word в С:\File\январь\1\. Если переместить excel в С:\File\февраль\, надо чтобы он сохранял файл в С:\File\февраль\1\).  
 
Подскажите, пожалуйста, как это реализовать.  
 
 
Может тогда кто-нибудь подскажет как сделать, чтобы word сохранял файл в путь указанный в ячейке excel. Вот макрос который я написал(сохранение не работает):  
Sub Макрос1()  
'  
' Макрос1 Макрос  
Sheets("Лист1").Select  
Columns("E:J").Select  
Selection.Copy  
Set Word = CreateObject("Word.Application")  
 
Word.Visible = True  
 
Set Doc = Word.Documents.Add()  
 
Doc.Activate  
Word.Selection.PasteExcelTable False, False, False  
Word.ActiveDocument.SaveAs Filename:=Range("A1"), FileFormat:=wdFormatXMLDocument, _  
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _  
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _  
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _  
False  
 
End Sub
 
Вот такая конструкция:  
 
ThisWorkbook.Path  
 
Выдаст вам путь к файлу в котором находится этот макрос. Используйте его для сохранения файла.
Редко но метко ...
 
{quote}{login=GIG_ant}{date=05.05.2011 09:40}{thema=}{post}Вот такая конструкция:  
 
ThisWorkbook.Path  
 
Выдаст вам путь к файлу в котором находится этот макрос. Используйте его для сохранения файла.{/post}{/quote}  
Спасибо за помощь. Но у меня нет идеи как выбрать подпапку.Еще хотелось бы узнать как назначить путь сохранения прописанного в ячейку A1.  
 
Пока получилось сохранить в туже папку:  
 
Sub 1()  
 
   Sheets("Лист1").Select  
   Columns("E:J").Select  
   Selection.Copy  
Set Word = CreateObject("Word.Application")  
 
   Word.Visible = True  
 
   Set Doc = Word.Documents.Add()  
 
   Doc.Activate  
   Word.Selection.PasteExcelTable False, False, False  
   Word.ChangeFileOpenDirectory ThisWorkbook.Path  
 
   Word.ActiveDocument.SaveAs Filename:="333.docx", FileFormat:=wdFormatXMLDocument, _  
        LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _  
       :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _  
       SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _  
       False  
End Sub
 
Может, кому еще пригодится.....Ответ на мой вопрос:  
 
word.ActiveDocument.SaveAs Filename:=Range("A1").Value, FileFormat:=wdFormatXMLDocument, _  
        LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _  
       :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _  
       SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
Страницы: 1
Читают тему
Наверх