Excel 2013 программно открывает книгу, обновляет данные и распечатывает книгу - PullRequest
0 голосов
/ 13 марта 2019

Я не новичок в Excel VBA, на самом деле я разработчик приложений.Но я пытался сделать это некоторое время.Кажется, проблема в том, что ссылки на данные рабочих книг не обновляют данные перед печатью, поэтому я застрял, используя последние данные рабочей книги, а не обновленные данные.

Если я открываю книги вручную, они обновляются, и я могу печатать таким образом.Это добавит немного времени к процессу (мне нужно сделать довольно много распечаток, поэтому я пытаюсь сделать это программно).Я надеюсь, что кто-то может дать мне знать мучительно простой шаг, который я пропускаю.


Дополнительная информация:

У меня есть серия рабочих тетрадей.

  1. Источник данных объединяет несколько источников данных, которые обновляются вручную и рабочая книга сохраняется.
  2. Контрольная рабочая книга (все другие рабочие книги я печатаю отсюда после сохранения и закрытия источника данных)
  3. 5 различных рабочих книг для печати с новыми данными, каждая с прямыми ссылками на ячейки и формулами vlookup для рабочей книги источника данных.

К вашему сведению Я пытался сделать эту книгу единой, и размерболее 5 МБ, который часто блокируется и делает его неприемлемым вариантом.

Мой процесс:

  • Я открываю книгу источника данных, обновляю, обновляю, сохраняю и закрываю.Теперь
  • Я открываю контрольную книгу.Я нажимаю кнопку, чтобы запустить макрос для печати 5 рабочих книг.

Код:

Это подпечатка, которая выполняет печать.

Sub ProcessFile(FileName)
   Workbooks.Open (FileName)
   ActiveWorkbook.RefreshAll   'Refresh the data.
   ActiveWorkbook.PrintOut     'Print the worksheet
   ActiveWorkbook.Close False  'Close without saving
End Sub

Это примеры строк, вызывающих подпрограмму.

ProcessFile "C:\User\Desktop\Year End Page 1.xlsx"
ProcessFile "C:\User\Desktop\Year End Page 2.xlsx"

Процесс печатает все рабочие книги по своему усмотрению, но ссылки на данные не обновляются.

Фоновое обновление не применимо, так как нет соединений.

Обновление ссылки выполняется автоматически.

DoEvents после RefreshAll не помогает.

Я искал ответ и просмотрел более 100 страниц, но, похоже, ни на одном ответе нет.необходимость.

Редактировать в 15:12 CST Также пытались поставить в паузу несколько разных способов, которые не имели никакого эффекта.GH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...