Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7110 / 13644 ツリー ←次へ | 前へ→

【41130】グループ化されたオートシェイプのテキスト変更 sen 06/7/31(月) 16:42 質問[未読]
【41131】Re:グループ化されたオートシェイプのテキ... ぱっせんじゃー 06/7/31(月) 16:53 発言[未読]
【41132】Re:グループ化されたオートシェイプのテキ... Blue 06/7/31(月) 16:56 発言[未読]
【41141】Re:グループ化されたオートシェイプのテキ... sen 06/7/31(月) 18:50 お礼[未読]
【41145】Re:グループ化されたオートシェイプのテキ... ichinose 06/7/31(月) 20:14 発言[未読]
【41147】Re:グループ化されたオートシェイプのテキ... ichinose 06/7/31(月) 20:40 発言[未読]

【41130】グループ化されたオートシェイプのテキス...
質問  sen  - 06/7/31(月) 16:42 -

引用なし
パスワード
   グループ化されたオートシェイプがあり、
そのうちどれか1つのテキストを変更したいです。

「name」、「test」のオートシェイプをグループ化した「Group1」を作成し、
同様に、
「name」、「test」のオートシェイプをグループ化した「Group2」を作成します。

そして以下のようなサンプルを作りましたが、
3行目でエラーになり動いてくれません。

Dim s As Shape
Set s = ActiveSheet.Shapes("Group1").GroupItems("name")
s.TextFrame.Characters.Text = "aaaaa"

グループ化をしなければヘルプ等に載っている方法で設定できるのですが、
どなたか設定方法をご存じないでしょうか。

【41131】Re:グループ化されたオートシェイプのテ...
発言  ぱっせんじゃー  - 06/7/31(月) 16:53 -

引用なし
パスワード
   手作業でグループ化したシェイプにテキストを追加
しようとしたら、右クリックメニューに
「テキストの追加」がありませんでした。
グループ化したものには出来ないのでは?

※検証不足でしたらすみません。

【41132】Re:グループ化されたオートシェイプのテ...
発言  Blue  - 06/7/31(月) 16:56 -

引用なし
パスワード
   こんなスレッドみつけました。

VBAでexcelのグループ化された図形から子供図形のテキストを取り出すには?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2050170

どうも、むりっぽい予感が。。。

【41141】Re:グループ化されたオートシェイプのテ...
お礼  sen  - 06/7/31(月) 18:50 -

引用なし
パスワード
   いい方法が無いようです。

方法はあまりよくないかも知れませんが、
とりあえず「グループ解除」→「テキスト変更」→「再グループ化」で
何とかやり過ごそうかと思います。

【41145】Re:グループ化されたオートシェイプのテ...
発言  ichinose  - 06/7/31(月) 20:14 -

引用なし
パスワード
   こんばんは。

>いい方法が無いようです。
>
>とりあえず「グループ解除」→「テキスト変更」→「再グループ化」で
>何とかやり過ごそうかと思います。

↑これが無難だとおもいますよ!!(私もたぶんこうすると思います)


参考程度に見てください。

新規ブックの標準モジュールに

'=================================================================
Sub 図の作成()
  Dim nm1 As String
  Dim nm2 As String
  Dim shp As Shape
  With ActiveSheet
    With .Shapes.AddShape(msoShape4pointStar, 100, 200, 300, 300)
     .Select
     .TextFrame.Characters.Text = "港のヨウコ"
     nm1 = .Name
     End With
    With .Shapes.AddShape(msoShape4pointStar, 400, 200, 300, 300)
     .Select
     nm2 = .Name
     End With
    Set shp = .Shapes.Range(Array(nm1, nm2)).Group
    shp.Select
    End With
End Sub
'========================================================================
Sub 書き込み()
  Dim shp As Shape
  Set shp = Selection.ShapeRange(1)
  shp.Select
  shp.GroupItems(1).Select
  txt = shp.GroupItems(1).TextFrame.Characters.Text
  SendKeys txt & "・横浜・横須賀"
  DoEvents
  shp.Select
  shp.GroupItems(2).Select
  SendKeys "あんたあの子のなんなのさ!!"
  DoEvents
  shp.Select
End Sub


図の作成 を実行してください。ふたつの十字星がグループ化されて
選択されています。

選択して状態で 書き込み を実行してみてください。

テキストの書き込みが出来ています(Excel2002で確認)


あくまでも参考程度にみてください。
 

【41147】Re:グループ化されたオートシェイプのテ...
発言  ichinose  - 06/7/31(月) 20:40 -

引用なし
パスワード
   Excel2000 で試したらエラーになりました。

書き込み プロシジャーの

>shp.GroupItems(1).Select

この箇所で (書き込みできません)というエラーになりました。
エラー内容もよくわかりませんが・・・。

とりあえず、ご報告まで・・・。

7110 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free