三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

パワポ マクロでテーブルの列幅を操作 ウォッチ式でオブジェクトのプロパティを探ってみた

PowerPointで複数テーブルの列幅をマクロで一括変更したかったので、
まず、スライドに挿入したテーブルの列幅を探ってみます
youtube.com
https://youtube.com/live/GzRznqxvKoA
目次
00:00 ライブ開始の挨拶
00:33 1.いつもの手ウォッチで探る
05:38 変数選択後、右クリック後、ウォッチ式の追加 操作方法
08:08 1.1 表の判断は HasTable
11:29 1.2 列幅は Width
15:14 Item1など、中身を探る
16:16 2.列幅の値を代入するには?変更するには
18:09 2.1 Columns.Item(n)
20:19 2.2 Table.Columns(n)
28:05 2.3 頭ActivePresentationからいくと
31:38 3.全ての表を探し、列幅を取得する
38:55 4.ExcelからPowerPoint表の列幅を取得する
45:35 実行結果 パワポ表の列幅をExcelシートへ書き込む
47:41 5.次は、逆パターン Excelシートの列幅をPowerPointにセットして表の列幅を変更する
49:04 実行結果を先に見せる
51:06 コードを説明する
55:23 6.おわりの挨拶 伝えたかった事を再度伝える
59:35 再度伝えたいことを説明する

1.いつもの手ウォッチで探る

シェイプの下にある、オブジェクトを
ウォッチ式で探ってみます。

'パワーポイント 選択Slidesを1つ変数へ代入、STOPで止める
'ウォッチ式で確認テスト用
Sub Test001_選択Slidesを1つ変数へ代入()
   
    Dim objShape As Shape
    Set objShape = ActiveWindow.Selection.ShapeRange(1)
    '↑1番目を変数に代入、未選択はノーチェックぉぃぉぃ

    Debug.Print "objShape.Name=" & objShape.Name
    MsgBox "選択されたシェイプは" & objShape.Name

    Stop  'ここで、コードの実行を止めるので、ウォッチ式を追加してね

    MsgBox "終了、お疲れ様"

End Sub

1.1 表の判断は HasTable

: HasTable : msoTrue : MsoTriState : Module1.Test001_選択Slidesを1つ変数へ代入

1.2 列幅は Width

+ : Table : : Table/Table : Module1.Test001_選択Slidesを1つ変数へ代入
+ : Columns : : Columns/Columns : Module1.Test001_選択Slidesを1つ変数へ代入
: Count : 4 : Long : Module1.Test001_選択Slidesを1つ変数へ代入
- : Item 1 : : Variant/Object/Column : Module1.Test001_選択Slidesを1つ変数へ代入
: Width : 150 : Single : Module1.Test001_選択Slidesを1つ変数へ代入

2.列幅の値を代入するには?変更するには

? objShape.Table.Columns.Count
4

2.1 Item(n)

? objShape.Table.Columns.Item(1).Width
150
objShape.Table.Columns.Item(1).Width = 300

2.2 Table.Columns(n)

objShape.Table.Columns(2).Width = 200
objshape.Table.Columns(2).Cells(2).Shape.TextFrame.TextRange.Text = "Ken3TEST"

2.3 頭ActivePresentationからいくと

? ActivePresentation.Slides(2).Shapes("表 2").Table.Columns(2).Width
200

以上が、ウォッチ式を使い、オブジェクトの値を探る方法です。

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)