質問: texttmp end if end sub
回答: こんにちは >置き換え前の文字"をパワポ内に見つけることが出来ないということでしょうか。そうです。 shapeオブジェクト内のtextrangeを見つけられないと言う事です。 shapeオブジェクトには、textrangeプロパティを持っていないものもあります。これはexcelでも同じです。 >パワポ内に特定の文字を検索して、エクセルに入力された文字列を一つずつ置き換えていきたいのですが... >一つが置き換え出来ればfor〜nextで繰り返しの作業に編集すればできるのかな?と安易な考えです。 >for〜nextで繰り返しの作業に編集すれば これは、正しいと思います。 しかし、対象のオブジェクトに種類や制限(保護設定みたいな)がある場合、命令が実行できない、 対象メソッドやプロパティが見つからない、受け付けないなどのエラーが発生します。 示されているコードで説明するとスライドはスライドコレクションのスライドオブジェクトです。 (excelで例えるとworksheetsのworksheet) 個々のオブジェクトをインデックスや名前で指定する事が出来ますが、 コードではコレクションの中をfor eachでオブジェクトを取得しています。 set pptobj = createobject("powerpoint.application") set pptprs = pptobj.presentations.open("ファイルパス") for each slideobj in pptprs.slides excelのシートで例えると dim wb as workbook set wb = workbooks.open(filename:=ファイルパス) for each sheetobj in wb.worksheets この、オブジェクトの中にshapeオブジェクトが複数ある場合、 1つ1つのshapeを取得する場合、shapesコレクションからfor eachで取得できます。 続く