###実現したいこと
PowerPointの表内のセルを指定して結合の有無と結合行数とカラム数を取得したい。
###発生している問題
結合の有無と結合行数とカラム数を取得できるプロパティが見当たらない。
対象のプロパティをご教授ください。
###補足情報(言語/FW/ツール等のバージョンなど)
powerpoint 2010
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
セルは結合状態のプロパティを持っていない
PowerPointの表(Table)にはExcelに似たセルの結合機能があります。
しかしExcelにあるような結合の解除という機能はなく、これに該当するのはセルの分割機能になります。
この分割機能がExcelの結合解除と決定的に違うところは、結合していないセルも分割できるところです。
例えば3x3のテーブルがあり、座標(2,2)のセルを2行・2列に分割すると、見た目上は中央の1セルが2x2に分割された状態になります。
しかしそれは表面的な変化というだけで、実際には2列目の右に3列目が挿入され、2行目の下に3行目が挿入され、全体のテーブルサイズが4x4となっています。
加えて、結合前に2列目だった列のセルは、分割セルである(2,2)~(3,3)を除いて、2列目と3列目で結合されます。
同様に、結合前に2行目だった行のセルは、分割セルである(2,2)~(3,3)を除いて、2行目と3行目で結合されます
結果的に、分割指定したセルを基点として、周辺の列・行が結合された状態ができあがります。
表面上は中央のセルが2x2に分割されただけのように見えますが、表全体として変わっているのはむしろ周辺の行・列の方です。
ここらへんがセル単位に結合状態のプロパティを持てない要因ではないかと(勝手に)思っています。
結合状態の判別方法
結合状態を調べたいセルをSelectすると、結合セルであれば結合しているすべてのセルでSelectedプロパティがTrueになります。
全てのセルでSelectedプロパティがTrueの数を数え、1なら単一セル、2以上なら結合セルと判断できます。
サンプルコード
'メイン処理 Sub Sample() With ActivePresentation.Slides(1).Shapes(1).Table '※とりあえず座標(1,1)をチェック If IsMerged(.Cell(1,1)) Then Msgbox "結合されてます" ElseIf Msgbox "結合されてません" End If End With End Sub '指定されたセルが結合セルか判定する関数 Function IsMerged(vCell As Cell) As Boolean Dim bRet As Boolean bRet = False '調査するセルを選択する vCell.Select '選択状態のセルが複数見つかれば結合セルと判断 If SelCount(vCell.Parent) > 1 Then bRet = True IsMerged = bRet End Function '指定した表で選択されているセルの数を返す関数 Function SelCount(vTbl As Table) As Integer Dim iCnt As Integer iCnt = 0 Dim r As Integer Dim c As Integer '表内の全セルをループ処理 For r = 1 To vTbl.Rows.Count For c = 1 To vTbl.Columns.Count '選択されているセルの数をカウント If vTbl.Cell(r, c).Selected Then iCnt = iCnt + 1 End If Next c Next r SelCount = iCnt End Function
ちょっと力技ではありますが、一つの方法としてご紹介しました。
参考になれば幸いです。
投稿2018/01/17 06:35
編集2018/01/17 07:10総合スコア3020
0
Wordでも無く、Table型変数のRows.Count、Columns.Countで
Cells()配列を作成し、
無理やりその中に各セルをセットしていき、
後からNothingの範囲を数えています。
投稿2018/01/17 01:28
総合スコア1175
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/18 00:42