をアクティブ化しようとすると、私は困惑し、私はダム何かが欠けているとを持っているように私は感じて...コンパイルエラー私は、プレゼンテーション
このマクロは、そのコードでマクロを呼び出すし、実行することを意図しています別のファイルに含まれており、最初のマクロが実行されたオープンプレゼンテーションにマクロを適用します。コンパイルエラーが発生しました:メソッドまたはデータメンバーが2行目から最後の行に見つかりません。私がその行をコメントアウトすると、コードは正しく実行されますが、間違ったプレゼンテーションにマクロが適用されます。
アイデア?事前に
おかげで、 ジョー
Function IsPresentationOpen(Name As String) As Boolean
Dim codePres As Presentation
On Error Resume Next
Set codePres = Application.Presentations.Item(Name)
IsWorkBookOpen = (Not codePres Is Nothing)
End Function
Sub Run_Macro()
Dim BriefingTemplate As Presentation
Set BriefingTemplate = Application.ActivePresentation
'Open Joe's Code Workbook
Dim xRet As Boolean
xRet = IsPresentationOpen("CODE.potm")
If xRet Then
Else
Presentations.Open "Direcory\CODE.potm"
End If
'Run Macro
BriefingTemplate.Activate '<<This is the line w/ the error
Application.Run ("'CODE.potm'!Macro"), BriefingTemplate
End Sub
Sub a_RunAll_PM(BriefingTemplate As Presentation)
BriefingTemplate.Activate
Call a_Scorecards_PM
Call CurrentTemps_PM
Call RadarSat_PM
Call Severe_PM
Call Day1_PM
Call Day2
Call JetStream_PM
Call Operational_Impact_PM
Call D1_Headlines_PM
Call D2_Headlines
End Sub
Sub a_Scorecards_PM()
Dim oPic As Shape
Set oPic = ActivePresentation.Slides(1).Shapes.AddPicture(_
FileName:="H:\Weather Briefs\Daily Ops Scorecards\SWA_Page_1.jpg", _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=0, Top:=0, _
Width:=720, Height:=540)
ActivePresentation.Slides(1).Copy
ActivePresentation.Slides.Paste 24
End Sub
FWIW - 'IsPresentationOpen'は戻り値を決して割り当てないので常に' False'を返します。 – YowE3K
[Documentation](https://msdn.microsoft.com/en-us/vba/powerpoint-vba/articles/presentation-object-powerpoint)によると、 'Presentation'オブジェクトには' Activate'メソッドがありませんそれが、この方法が存在しないと言っている理由です。 TBH、私はあなたの問題はおそらく正しいプレゼンテーションを更新するような方法で書かれていない "マクロ"のコードにあると思う。したがって、あなたがコードを修正するのを助けるように私たちに依頼したなら、おそらく役に立ちます。 – YowE3K
'xRet'を取り除き、' IsPresentationOpen( "CODE.potm")を使ってコードをシンプルにし、次にPresentations.Open "Direcory \ CODE.potm" ' – jsotola