パワーポイントのマクロを作っていて手詰まりました。
◆作りたいもの
PPTのテキストボックス6からページ番号を読み取って、それに対応したテキストファイルを読み込んでテキストボックス5へ入れる
Sub Sample2() Dim buf As String Dim pge As String Dim sld As Slide, shp As Shape For Each sld In ActivePresentation.Slides For Each shp In sld.Shapes With shp If shp.Name = "テキスト ボックス 6" Then pge = "ppt_" & shp.TextFrame.TextRange.Text & ".txt" End If End With Next shp With CreateObject("Scripting.FileSystemObject") With .GetFile(pge).OpenAsTextStream buf = .ReadAll .Close End With End With For Each shp In sld.Shapes If shp.Name = "テキスト ボックス 5" Then shp.TextFrame.TextRange.Text = buf End If Next shp Next sld End Sub
With .GetFile(pge).OpenAsTextStream で「実行時エラー5」になります。
エラー箇所を抜き出してその部分だけ実行するとエラーになりません。
一体何が問題なのかご教示いただけたら幸いです。
とりあえず、VBAのコードの先頭に
-----------------------------
Option Explicit
-----------------------------
を追加してみて下さい。
変数名に間違いがあったところを修正いたしました。
Option Explicit を追加しましたが、実行時エラー5に変化はありませんでした。
実行時エラーの箇所について、再度確認してみて下さい。
CreateObject("Scripting.FileSystemObject")
の箇所ではエラーにならないと思います。
おっしゃる通り間違えてました。正しくは
With .GetFile(pge).OpenAsTextStream
の部分です。
回答1件
あなたの回答
tips
プレビュー