Страницы: 1
RSS
Макрос на открытие и закрытие с сохранением файлов
 

Здравствуйте, уважаемые форумчане. Помогите, пожалуйста, в написании макроса для открытия и закрытия с сохранением файлов. В ходе работы, для обновления связей, приходится открывать большое количество файлов. На форуме ссылок поэтому вопросы нашла много, но совсем не умею применить их к себе. В приложенном примере есть макрос на открытие одного документа, которое находится в ячейке А1, было бы замечательно, чтобы последовательно открывались и закрывались все файлы, путь, которых прописан в столбце А.  Возможно ли дописать этот макрос? Буду очень признательна за помощь.

 
извините, а открытие файла с последующим закрытием имеет какой-то практический смысл  или это чисто ритуальное действие?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, может это? ))
Цитата
Elena написал:
для обновления связей
 
Да, для обновления связей. У меня большое количество счетов с формулами. И прежде чем их перевести в pdf формат, надо обновились значения.
 
а чем обновленные связи будут отличатся от тех, что уже жили в файле-приемнике до открытия / закрытия файла-источника и которые останутся там жить после  открыть / закрыть? что изменилось в файле-приемнике после открыть / закрыть файл источник? открыть, сохранить, закрыть - понятно поменяется дата сохранения файла-источника, а приемнику-то что с этого?
Изменено: Ігор Гончаренко - 04.04.2018 00:06:21
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
У меня есть общий документ, куда ежедневно заносятся данные, на другом листе книги, общая таблица с формулами, и уже с этой общей таблицы созданы персональные файлы, которые я отправляю по электронной почте , чтобы перед отправкой формировались pdf документы, мне надо открыть - сохранить- закрыть документ, чтобы все значения из общей таблицы правильно сформировались. Это персональные счета за обучение, которые я рассылаю родителям детей. Их у меня 200 файлов, которые надо обновить. И эта работа очень монотонная и хотелось бы ее чуть-чуть сократить.
 
см. вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
А какими формулами тянутся данные? ПРВ/VlookUp? Если да, то открыть/закрыть лишено смысла. Но раз так хочется , то:
Код
Sub Хотелка()
Dim NWb As Workbook, sh As Worksheet, a&, aa As Range
Set sh = ActiveSheet
a = sh.[a1].End(xlDown).Row
If a = sh.Columns(1).Rows.Count Then Exit Sub
For Each aa In sh.Range("A1:A" & a)
  On Error Resume Next
  If Err.Number = 0 Then
    Set NWb = Workbooks.Open(aa)
    DoEvents
    NWb.Close False
  Else: Err.Clear
  End If
Next
End Sub
Изменено: Anchoret - 04.04.2018 00:30:48
 
Private Sub CommandButton1_Click()    - эта строка желтая

If dir(cells(r,1) <> "" then -  а эта красная
 
в строке:
   If Dir(Cells(r, 1) <> "" Then
не хватает одной закрывающейся скобки
   If Dir(Cells(r, 1)) <> "" Then
Изменено: Ігор Гончаренко - 04.04.2018 00:58:29
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ура, все работает. Спасибо Вам огромное, Игорь. Вы спасли меня от монотонной бестолковой работы. Завтра на работе уже проверю свою кучу файлов. Огромное спасибо
 
И Вам, Anchoret, спасибо большое, попробую и Ваш макрос
 
Цитата
Anchoret написал:
А какими формулами тянутся данные? ПРВ/VlookUp? Если да, то открыть/закрыть лишено смысла. Но раз так хочется , то:
=СУММ(ИНДЕКС('2018'!$H$6:$T$299;ПОИСКПОЗ($D$9;'2018'!$G$6:$G$299;);ПОИСКПОЗ($J$4;'2018'!$H$5:$T$5;)):ИНДЕКС('2018'!$H$6:$T$299;ПОИСКПОЗ($D$9;'2018'!$G$6:$G$299;);13))-$E$16

Вот такого плана у меня стоят формулы, есть и простые.  
Страницы: 1
Наверх