[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『SmartArtのアイテムの枠線』(0472)
以下のコードで選択したオートシェイプの枠線の色と太さを変更することができましたが,
SmartArtの中にある選択したオートシェイプの枠線の色と太さを変更することができませんでした.
どのようにコードをいじればよろしいでしょうか.
ご教授の方よろしくお願いします.
With Selection.ShapeRange.Line .ForeColor.RGB = RGB(255, 0, 0) '線の色 .Weight = 6 '線の太さ End With
< 使用 Excel:Excel2010、使用 OS:Windows7 >
組織図は詳しくないのですが、その中の部分(ノード)については、今、どこを選択しているのか その情報が、ローカルウィンドウで、捜しまくったんですがみあたりません。提供してくれないのかもしれません。 組織図の中の、任意で選択されたものではなく、ノードのインデックスを特定すれば、いろいろ設定ができるようです。
たとえば
http://krt21.xsrv.jp/blog/?p=65
この中で、組織図をVBAで作成するコードがダウンロードできますので、参考にできるかもしれません。
ダウンロードは、くれぐれも自己責任で。
(β) 2015/07/06(月) 11:21
インデックス指定をしてオートシェイプの枠線の色などを変更する方法がは,当方で見つけましたが
選択したオートシェイプの枠線の設定を変更する方法がわかりません.
インデックスを指定せずに選択したオートシェイプの枠線の設定を変更する方法はないでしょうか.
(0472) 2015/07/06(月) 16:48
>>インデックスを指定せずに選択したオートシェイプの枠線の設定を変更する方法はないでしょうか
識者の回答をお待ちください。
(β) 2015/07/06(月) 17:01
ActiveSheet.Shapes(Selection.Name).SmartArt.Color = Application.SmartArtColors(6)
これで選択したSmartArtのスタイルの色を変えられます。
まだノードというデータについては試していません。今週は少し忙しいので返答は遅くなります。
いろいろ試しますができなかったらすいません
(デイト) 2015/07/06(月) 19:03
Sub test() Dim S As SmartArt Dim i As Long Dim j As Long
Set S = ActiveSheet.Shapes("Diagram 1").SmartArt
'文字列 Range("A1") = S.Nodes(1).TextFrame2.TextRange.Text For i = 1 To S.Nodes.Count For j = 1 To S.Nodes(i).Nodes.Count Cells(2, j).Value = S.Nodes(i).Nodes(j).TextFrame2.TextRange.Text Next j Next i
'背景色 S.Nodes(1).Nodes(1).TextFrame2.TextRange.Lines.Select Selection.Fill.ForeColor.RGB = RGB(255, 0, 0)
'文字色 S.Nodes(1).Nodes(1).TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(0, 128, 255) End Sub (???) 2015/07/07(火) 11:51
ActiveSheet.Shapes(Selection.Name).GroupItems(1).Line.ForeColor.RGB = RGB(255, 0, 0)
ActiveSheet.Shapes(Selection.Name).GroupItems(1).Line.Weight = 4.5
デイトさんを参考に試行錯誤したところ、選択したSmartArtの特定のオートシェイプの枠線の色と太さを変えることができました。
引き続きいろいろと試そうと思います。
(0472) 2015/07/07(火) 14:38
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.