• 締切済み

word VBA 文字列操作について

WORD2007にて、文書内にいくつかの描画キャンバスがあり、この中にいくつかのオートシェイプがあります。(グループ化されたものも含む) マクロにてこのオートシェイプ内の文字列をすべて特定のフォントに変更したいのですが、どなたかCODEを教えて頂けないでしょうか? On Error Resume Next Dim shp As Shape For Each shp In ActiveDocument.Content.ShapeRange shp.Select Selection.Font.Name = "RFPイワタ中太教科書体" Selection.Font.NameAscii = "RFPイワタ中太教科書体" Next shp というものも他のサイトで見つけたのですが、おそらくオートシェイプが描画キャンバス内にあるためにSelectされないのだと思われます よろしくお願いします

みんなの回答

回答No.1

私は古いバージョンでしか試せないので、Word2007にて 可能かどうかわかりません。 それと[描画キャンバス]内のグループ化されたものだと、 私の示したものではSelectされません。 それでもよければ試してみてください。 '------------------ここから------------------ Sub FontInCanvas() On Error Resume Next Dim canvas As Shape Dim cItem As Shape For Each canvas In ActiveDocument.Shapes  If canvas.Type = msoCanvas Then   For Each cItem In canvas.CanvasItems     cItem.Select     Selection.Font.Name = "RFPイワタ中太教科書体"     Selection.Font.NameAscii = "RFPイワタ中太教科書体"   Next  End If Next End Sub '------------------ここまで------------------ グループ化したものは、Shape.GroupItemsプロパティが おそらく関係しているのだと思いますが、それを使う方法 が分かりませんでした。 http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.excel.shape.groupitems(office.11).aspx

関連するQ&A