2016-07-18 3 views
1

私はPowerPointファイルを作成していますし、Access-VBAによるプログラムで、その中にスライドを追加し、それが今まで正常に動作している最小限に保つアクセスVBAでPowerPointでスライドを追加する方法。 しかし、クライアントは、生成中に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 

私はちょうど前のWindowStateを最小限に抑え、後に機能を追加するコードを書かれているが、それでもそれだけで一瞬にポップアップ表示される、したがって、いずれかからカーソルのフォーカスを移動します彼らが望んでいないpptに作業していることを伝えてください。 どうすれば完全に最小化することができますか?その後、私はあなたがすると信じ

+0

ベスト勧告はあなたが気づいていない場合、これは難しいかもしれません。あらかじめ移入パワーポイントになり、それを見るために近く、ちょうど保存する必要があり、かつ(trueに設定WithWindowプロパティを持つ)を再オープンしたプレゼンテーションいくつのスライドが必要になるのでしょうか?そうであれば、スライドのCT数は、その後、文書を最小限に返信用ループ – RGA

+0

@RGAのおかげでインデックスでスライドを反復処理が、私はすでにやっている厥、このコードスニペットは、ちょうどその最小限のバージョンです。しかし、Generateボタンをクリックした直後にpptの生成がバックグラウンドで行われ、完了する前にいつでもポップアップしてはいけません。 –

答えて

1

あなたが完全に目に見えないように行われるべきものプレゼンテーションにスライドを追加し、あなたがしてSelectまたは任意のActive...参照

Set oPPTPres = oPPTApp.Presentations.add(WithWindow:=msoFalse) 

を使用することはありませんと仮定すると(窓なしPowerPointオブジェクトを開くことができます。

+0

おかげさまで、あなたに伝えたいことの簡単なコードスニペットを教えてください。それは非常に役に立ちます。 –

+0

@HemantSisodia何のスニペット? – RGA

+0

okあなたの提案を最初にして遊んでください。 –

関連する問題