1

パワーポイント ファイルを作成し、Access-VBA を介してプログラムでスライドを追加していますが、今のところ問題なく動作しています。しかし、現在、クライアントは、生成中にのみ ppt を非表示または最小化することを望んでいます。ppt オブジェクトをアクティブ化した直後に最小化しましたが、「Slides.Add」中に再びポップアップするので、再度最小化する必要があります。問題は、これにより、カーソルのフォーカスが作業中のドキュメントではなく ppt に移動することです。それで、それを完全に最小化したままにするか、この世代の作業をバックグラウンドで実行して、完了してから開くことができる方法はありますか? 私が使用しているコードは次のとおりです。

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

Add 関数の直前と直後に windowstate を最小化するコードを作成しましたが、それでもほんの一瞬だけポップアップするため、作業中のドキュメントからカーソルのフォーカスを ppt に移動しますが、これは望ましくありません。では、どうすればそれを完全に最小限に抑えることができますか?

4

1 に答える 1