Я создаю файл PowerPoint и добавляю слайды в него программно через Access-VBA, и он работает нормально до сих пор. Но теперь клиент хочет, чтобы ppt был невидимым или сведен к минимуму только во время генерации. Сразу после активации объекта ppt я установил его с минимальным значением, но затем, во время «Slides.Add», он снова появляется, поэтому мне нужно снова свернуть его. Проблема в том, что это приводит к перемещению курсора в ppt вместо документа, над которым он работает. Итак, есть ли способ, я мог бы полностью свести его к минимуму или сделать это поколение работой в фоновом режиме и открыть его только после его завершения? код я использую:Как добавить слайды в Powerpoint путем доступа к VBA, сохраняя его только сведенным к минимуму
Dim shpGraph As Object, Shpcnt As Integer, FndGraph As Boolean
Dim lRowCnt, lColCnt, lValue As Long, CGFF_FldCnt As Integer
Dim OPwrPnt As Object, OpwrPresent As Object, OpwrSlide As Object
Set OPwrPnt = CreateObject("Powerpoint.application")
Set OpwrPresent = OPwrPnt.Presentations.Add(WithWindow:=msoFalse)
Set OpwrSlide = OpwrPresent.Slides.Add(slideCounter, PpSlideLayout.ppLayoutTitle)
OPwrPnt.WindowState = ppWindowMinimized
slideCounter = slideCounter + 1
lheight = OPwrPnt.ActivePresentation.PageSetup.SlideHeight/2
lwidth = OPwrPnt.ActivePresentation.PageSetup.SlideWidth/1
LLeft = 0
lTop = OPwrPnt.ActivePresentation.PageSetup.SlideHeight/4
Set shpGraph = OpwrPresent.Shapes.AddOLEObject(Left:=LLeft, _
Top:=lTop, Width:=lwidth, Height:=lheight, _
ClassName:="MSGraph.Chart", Link:=0).OLEFormat.Object
Я написал код, чтобы минимизировать WindowState непосредственно до и после Add функции, но все же он всплывает только на долю секунды, следовательно, перемещение фокуса курсора из любого документ они работают на ppt, чего они не хотят. Итак, как я могу сохранить его полностью сведенным к минимуму?
Лучшей рекомендацией было бы предварительно заполнить контрольную точку. Это может быть сложно, если вы не знаете сколько слайдов понадобится, но если вы, то просто добавьте ct количество слайдов, свести к минимуму документ, затем перебирать слайды по индексу в цикле – RGA
@RGA Спасибо за ответ, но это то, что я уже делаю, этот фрагмент кода - это его свернутая версия. Но они хотят, чтобы сразу после нажатия кнопки «Создать» генерация ppt должна происходить в фоновом режиме и не должна всплывать в любое время, прежде чем завершать ее. –