Office関連

テーブルの罫線色情報を列挙するPowerPointマクロ

テーブルが多いプレゼンテーションファイルの、各テーブルの線の色の情報を調べる必要があったので、マクロでまとめて取得してみました。

Option Explicit

Public Sub Sample()
'アクティブなスライドにあるテーブルの罫線色情報を列挙
  Dim shp As PowerPoint.Shape
  Dim c As Long, r As Long
  
  For Each shp In ActiveWindow.Selection.SlideRange.Shapes
    If shp.HasTable = True Then
      With shp.Table
        For r = 1 To .Rows.Count
          For c = 1 To .Columns.Count
            Debug.Print shp.Name & ", " & _
                        "セル(" & r & ", " & c & "), " & _
                        "上線色:" & GetRGBColor(.Cell(r, c).Borders(ppBorderTop).ForeColor) & ", " & _
                        "左線色:" & GetRGBColor(.Cell(r, c).Borders(ppBorderLeft).ForeColor) & ", " & _
                        "下線色:" & GetRGBColor(.Cell(r, c).Borders(ppBorderBottom).ForeColor) & ", " & _
                        "右線色:" & GetRGBColor(.Cell(r, c).Borders(ppBorderRight).ForeColor) & ", " & _
                        "下斜め線色:" & GetRGBColor(.Cell(r, c).Borders(ppBorderDiagonalDown).ForeColor) & ", " & _
                        "上斜め線色:" & GetRGBColor(.Cell(r, c).Borders(ppBorderDiagonalUp).ForeColor)
          Next
        Next
      End With
    End If
  Next
End Sub

Private Function GetRGBColor(ByVal col As Long) As String
'RGB取得
  Dim hex_col As String
  
  hex_col = Hex(col)
  hex_col = Right("000000" & hex_col, 6)
  GetRGBColor = "Red:" & CLng("&H" & Right(hex_col, 2)) & _
                ", Green:" & CLng("&H" & Mid(hex_col, 3, 2)) & _
                ", Blue:" & CLng("&H" & Left(hex_col, 2))
End Function

GetTableBorderColor_01

GetTableBorderColor_02

適当に書いたので処理は雑になっていますが、とりあえず目的は達成できました。

関連記事

  1. Office関連

    Trello APIを使ってカードを投稿するVBAマクロ

    以前Fiddlerを使ってTrello APIを実行する記事を書きまし…

  2. Office関連

    [PowerShell]iTextSharpを使ってPDFファイルを結合する

    mougにあった質問「2つのPDFファイルを結合するには」の回答用に書…

  3. Office関連

    ポータブル デバイスからファイルをコピーするVBAマクロ

    mougにあった質問関連のメモです。ポータブル デバイスか…

  4. Windows 10

    【2017年1月版】Microsoft Edgeを操作するVBAマクロ(DOM編)

    「Microsoft Edge VBA 操作」こういったキーワード検索…

  5. アイコン一覧

    Office 2013 アイコン一覧(D)

    ・Office 2013 アイコン一覧 NUM…

  6. Office関連

    住所から郵便番号を取得するVBAマクロ

    「住所から郵便番号 VBA」といったキーワード検索でのアクセスがあった…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP