Office関連

代替テキストを削除するPowerPointマクロ

PowerPointの図やSmartArt、グループやグラフといった視覚的なコンテンツには、画面を見ることができないユーザー向けに、そのコンテンツが何なのかを示す「代替テキスト」(AlternativeText, alt text)を設定することができます。

PDFに変換するとき等、この代替テキストを残しておきたくない場合もあるので、一括削除するマクロを書いてみました。

Option Explicit

Public Sub DelAllAltText()
'代替テキストを一括削除
  Dim prs As PowerPoint.Presentation
  Dim sld As PowerPoint.Slide
  Dim shp As PowerPoint.Shape
  Dim tmp As PowerPoint.PpViewType
  
  Set prs = ActivePresentation
  
  '表示モードを「標準」にして処理実行
  If SlideShowWindows.Count > 0 Then _
    prs.SlideShowWindow.View.Exit 'スライドショー表示になっていたら解除
  With ActiveWindow
    tmp = .ViewType 'ウィンドウの表示モード記憶
    .ViewType = ppViewNormal
  End With
  
  For Each sld In prs.Slides
    For Each shp In sld.Shapes
      DelAltText shp
    Next
  Next
  
  ActiveWindow.ViewType = tmp 'ウィンドウの表示モードを元に戻す
  MsgBox "処理が終了しました。", vbInformation + vbSystemModal
End Sub

Private Sub DelAltText(ByVal TargetShape As PowerPoint.Shape)
'代替テキストの削除
  Dim grpShps As PowerPoint.GroupShapes
  Dim shp As PowerPoint.Shape
  
  On Error Resume Next
  Set grpShps = TargetShape.GroupItems
  On Error GoTo 0
  If grpShps Is Nothing Then
    If Len(Trim(TargetShape.AlternativeText)) > 0 Then
      TargetShape.AlternativeText = ""
    End If
    If Len(Trim(TargetShape.Title)) > 0 Then
      TargetShape.Title = ""
    End If
  Else
    For Each shp In grpShps
      DelAltText shp
    Next
  End If
End Sub

上記マクロを実行すると、すべてのスライド上にある図、SmartArt、グループ、グラフ、埋め込みオブジェクト、ビデオといったコンテンツから、代替テキストを削除します。

同様のマクロは下記サイトでもすでに取り上げられています。

情シスに必要な知識や能力とは?前のページ

[Google Apps Script]Google スライドでテキストボックスを追加し、文字装飾を行う次のページ

関連記事

  1. Office関連

    [リボン・カスタマイズ]グループの表示・非表示をトグルボタンで切り替える。

    数年前に書いた記事に下記コメントをいただきました。Excelに…

  2. Office関連

    [Office]OutlookとIMEの利用に関するアンケートへの回答でAmazonギフト券が当たる…

    昨年の11月、「シンプルリボン」に関するアンケートが行われました(下記…

  3. Office関連

    MicrosoftのDictateアドインを試してみました。

    Microsoftがハンズフリー入力をサポートするOffice用(Wo…

  4. Office関連

    [Mayhem]PowerPointマクロにショートカットキーを割り当てる。

    2012/4/20 追記:クイックアクセスツールバーのメニューを利用す…

  5. Office アドイン

    Visio JavaScript APIで遊んでみました。

    前回の記事でプレビュー版がリリースされた「Visio JavaScri…

  6. Office関連

    [VBA]CommandBars(“○○”).Controls.Addでメニ…

    Officeのユーザインタフェースがリボンに変わってから、下記のように…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP