A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
グループ化内の特定の色の図形も処理したいのですか?
すべてのグループ化を解除すれば簡単なのですが、私はマクロが
得意なほうではないので、うまく処理できているか不安ですが。
一応、こちら↓のようなもので処理できそうです。
Sub グループ化した図形を含む色のを変更()
Dim shp As Shape
Dim n, i As Integer
‘ 単独の図形
For Each shp In ActiveDocument.Shapes
‘ 塗りつぶしの色
If shp.Fill.ForeColor = RGB(255, 255, 255) Then
shp.Fill.ForeColor = RGB(0, 0, 0)
End If
‘ 線の色
If shp.Line.ForeColor = RGB(0, 0, 255) Then
shp.Line.ForeColor = RGB(255, 0, 0)
End If
‘ グループ化した図形
If shp.Type = msoGroup Then
n = shp.GroupItems.Count
For i = 1 To n
‘ グループ化した図形内の塗りつぶしの色
If shp.GroupItems(i).Fill.ForeColor = RGB(255, 255, 255) Then
shp.GroupItems(i).Fill.ForeColor = RGB(0, 0, 0)
End If
‘ グループ化した図形内の線の色
If shp.GroupItems(i).Line.ForeColor = RGB(0, 0, 255) Then
shp.GroupItems(i).Line.ForeColor = RGB(255, 0, 0)
End If
Next i
End If
Next shp
End Sub
もっとスマートな書き方があると思います。
私としては、これらを調べるだけでも大変でした。
No.1
- 回答日時:
例えば、こちら↓のようなもので処理します。
Sub アクティブ文書内の図形の色を変更する()
Dim shp As Shape
For Each shp In ActiveDocument.Shapes
If shp.Line.ForeColor = RGB(0, 0, 255) Then
shp.Line.ForeColor = RGB(255, 0, 0)
End If
If shp.Fill.ForeColor = RGB(255, 255, 255) Then
shp.Fill.ForeColor = RGB(0, 0, 0)
End If
Next shp
End Sub
この回答へのお礼
お礼日時:2019/03/18 00:31
ありがとうございます。図形を挿入して実験するとできました。
しかし変更したいものはすべてグループ化されており、
このコードではグループ化された1つ1つの図形には
適用されませんでした。解決策はないものでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/11 11:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで図形やワードアート...
-
指定範囲内で図形等を削除する...
-
イラストレーターで複数の線で...
-
Excel に貼り付けた図形が、勝...
-
Excel組織図を横に展開する方法...
-
Office365 のExcelでオブジェク...
-
イラストレーターには“書式のコ...
-
excelのオートシェイプを使って
-
JWCADについて
-
word2010 SmartArtで連絡網作...
-
Creative Cloudフォトプランで...
-
パワーポイント(2016)、線を...
-
マクロで選択した図形の選択状...
-
オートシェイプで任意のドーナ...
-
図形の特定の色を一括置換する...
-
Excel2007で「サイズとプロパテ...
-
PowerPoint2013で、図形の枠線...
-
境界線をなぞるソフト
-
ワードで大量の図形を一括でグ...
-
jw-cadの設備機器等をダウンロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定範囲内で図形等を削除する...
-
エクセルで図形やワードアート...
-
Excel組織図を横に展開する方法...
-
word2010 SmartArtで連絡網作...
-
Excel に貼り付けた図形が、勝...
-
Office365 のExcelでオブジェク...
-
マウスで選択した図形のみVBAで...
-
jwCAD 登録した図形を呼び出し...
-
ワードの図形をコピー&ペイス...
-
Excel 図形を移動させると複写...
-
JWCADについて
-
Creative Cloudフォトプランで...
-
オートシェイプで任意のドーナ...
-
マクロで選択した図形の選択状...
-
ベクターワークスで線を複写
-
PowerPoint2013で、図形の枠線...
-
イラストレーターには“書式のコ...
-
エクセル マクロで、選択してい...
-
パワーポイント(2016)、線を...
-
EXCELでのデータ及び図形...
おすすめ情報
例えばXMLのコードを直接表示させて、色の値を一括置換するような方法でも構いません。