Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » VBAでTextFrame・文字列枠を削除する??

VBAでTextFrame・文字列枠を削除する??

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2005 ビルド12827.20336 Microsoft Store)

「VBA オートシェイプ textframe 削除」
という検索キーワードに気が付きました。

VBAでShapeオブジェクト内のTextFrameを削除する方法を、探していらした方による検索でしょうか。

どのアプリケーションか不明わかりませんので、この記事ではPowerPoint VBAについてお伝えします。

文字列枠を削除する操作はありますか?

まず、文字列枠を削除する操作がPowerPoint上にあるか、思い出してください。

文字列枠を削除することはできないはずです。削除できるのは、文字列枠ではなく文字列です。

一方、スライドや図形は削除できます。

TextFrameにDeleteメソッドはない

PowerPoint VBAの場合、削除可能なオブジェクトの場合、オブジェクト自身がDeleteメソッドを持っています。

スライドを表すSlideオブジェクトや、図形を表すShapeオブジェクトは、いずれもDeleteメソッドを持っています。

拙著『いちばんやさしいPowerPoint VBAの教本』でも、Lesson 25でSlide.Deleteメソッドを、Lesson 36でShape.Deleteメソッドをご紹介しています。

これに対して、オブジェクトブラウザーで確認できるとおり、TextFrameオブジェクトにDeleteメソッドはありません。

TextFrameオブジェクトに用意されているのは、TextFrameオブジェクト内に存在する文字列を削除する、DeleteTextメソッドです。

TextFrame.DeleteTextメソッドを使った、
  ActivePresentation.Slides(1).Shapes(1).TextFrame.DeleteText
というコードを実行すれば、アクティブプレゼンテーション先頭スライドの、1つ目の図形内に存在する(文字列枠ではなく)文字列を削除できます。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » VBAでTextFrame・文字列枠を削除する??

「TextFrame・TextRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.