ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:VBA 図形グループ化後オブジェクト名取得) VBA 図形グループ化後オブジェクト名取得 2012/08/05 03:45 このQ&Aのポイント VBAを使用して、複数のオートシェープを選択し、グループ化した後に、グループ化された図形のオブジェクト名を取得したいです。グループ化処理後にオブジェクト名を取得するためのコードがエラーとなってしまい、困っています。他にもグループ化された図形が存在する中で、対象となるグループ化された図形のオブジェクト名を取得する方法を知りたいです。 VBA 図形グループ化後オブジェクト名取得 2種類以上のオートシェープ選択し、グループ化した後に、そのグループ化した図形のオブジェクト名を取得したいです。私の取得の流れです。 (1)すでにグループ化前の図形は複数選択されている。 (2)グループ化後には、グループ図として選択されたままになっているはず。 (3)下記でオブジェクト名が取得できるはず。 Selection.ShapeRange.Name ですが、グループ化処理後に、自動的に選択が図形からはずされてしまい、エラーとなってしまいます。 エクセルシート上に他にもグループ化された図形が複数あるため、今対象にしているグループ化した直後の図形のオブジェクト名をどう取得すればよいかがわからないでいます。知りたいのはあくまで、今グループ化したそのオブジェクト名になります。 質問の原文を表示する みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー keithin ベストアンサー率66% (5278/7941) 2012/08/05 09:00 回答No.2 sub macro1() selection.group.select msgbox selection.name end sub のようで良いでしょう。 グループ化すると選択が解除される事を見越して sub macro2() dim o on error resume next set o = selection.group msgbox o.name end sub のようにしても構いません。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) KURUMITO ベストアンサー率42% (1835/4283) 2012/08/05 07:18 回答No.1 図形をグループ化した時点ではグループ1とかグループ2とかの番号が順番で付きますが、名前ボックスでお望みの名前を入力してEnterすれば別の名前に変更できますね。 マクロの記録で試験したところでは、そのような操作は例えば次のように記録されています。 Selection.ShapeRange.Group.Select Selection.ShapeRange.Name = "ketugou" Selection.Name = "ketugou" 名前ボックスでの修正を行わなければ Selection.ShapeRange.Group.Select のままでグループ1とかの名前の取得はされていませんね。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアオフィス系ソフト 関連するQ&A Word グループ化したオブジェクトの選択 テキストボックス複数個とオートシェイプをグループ化しています。 この図のアンカーを固定したくて、「オブジェクト」を選択しようとマウスで右クリックすると、テキストボックスだけが選択されたり、オートシェイプだけが選択されたりと、なかなか思い通りになりません。 どうすればいいでしょう? 2002を使っています。 描画キャンバスは使っていません。 VBAのGroup化について お世話になります。以下のマクロがうまく動きません。 ------------------------------------------------- Dim objShp1 As Shape For Each objShp1 In ActiveSheet.Shapes If objShp1.Name = "Picture 3" Then ActiveSheet.Shapes.Range(Array("A", "B", "Picture 3")).Select Selection.ShapeRange.Group.Select Selection.ShapeRange.ThreeD.RotationX = -180 Selection.ShapeRange.IncrementLeft 0 Selection.ShapeRange.IncrementTop 0 Else ActiveSheet.Shapes.Range(Array("A", "B")).Select Selection.ShapeRange.Group.Select <---------(1) Selection.ShapeRange.ThreeD.RotationX = -180 Selection.ShapeRange.IncrementLeft 0 Selection.ShapeRange.IncrementTop 0 End If Next ------------------------------------------------- このマクロは全体の一部分になりますが、(1)のところでエラーになります。 どこが間違っているのか、さっぱりわかりません。 すみませんが、お助けいただければ幸いです。 Word2010でオブジェクトをグループ化する Word2010で複数の図形をグループ化する方法を教えてください。 ホーム~オブジェクトの選択~カーソルをドラックしてオブジェクトの周囲に選択範囲の四角形が出来ないので次のグループ化に進めません。 複数の図形をシフトを押しながら一つ一つ選択をすればグループ化することはできるのですが・・・ それでは、複数有る細かい図形はうまく選択するのが難しいので オブジェクトの周囲に範囲選択の四角形を作る良い方法がありましたら教えてください。 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? OKWAVE コラム エクセル2007のマクロ どなたか教えて下さい。 エクセル2007で、図形とオートシェイプを同時に選択するマクロを教えて下さい。 今まで、エクセル2003では Selection.ShapeRange.Group.Select で、一発で選択できていましたが、エクセル2007に変わって動かなくなりました。 オートシェイプだけは、グループ化は出来たのですが、図形とのグループ化する方法が分かりません。 目的は、エクセルの図形の挿入で読込んだ図形の上に、エクセルのカメラで読込んだリンク図形(複数)を一緒にグループ化を行い、ペイント等でビットマップファイルを作成したいのです。 グループ化できた後は、手動でペイントに貼り付け、保存するつもりです。 よろしくお願いします。 Excelのマクロを使用してオートシェイプ図形の色を変えたいのです。 Excelのマクロを使用してオートシェイプ図形の色を変えたいのです。 オートシェイプ図形を50個ならべて、マウスでクリックしてものは色が変わるようにしたいと思います。 マクロ記録をすると以下のようになりました。 Sub Macro1() ActiveSheet.Shapes("AutoShape 1").Select Selection.ShapeRange.Fill.ForeColor.SchemeColor = 45 Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid End Sub このプログラムを50個書くわけにはいかないのですが、プログラムで処理するのに問題点が2つ出てきました。 ・オートシェイプ図形の名前が"AutoShape 1"となっていますが、これを変更したいのですが、書式設定にはありませんでした。変更するにはどうすればよいのでしょう? ・クリックしたオートシェイプ図形がどれであるかを返す関数がないと、どの図形がクリックされたかわからないのですが、これを返す関数はあるのでしょうか? よろしくお願いします。 図形と図はグループ化は出来ないのですか? 2007です。ワードです。 図形(四角)と図(写真)を並べ、ホームタブ―編集GRのオブジェクトを選択―両方を囲み―グループ化をしたいと思っていますができません。図形と図はグループ化は出来ないのですか? 図同士は出来ますか?(もしかして、図はオブジェクトとは云わないのですか?) VBAでオートシェイプのグループ化についての質問です。 VBAでオートシェイプのグループ化についての質問です。 オートシェイプ線(Line)で台形を作成し全てを選択し、グループ化したいと考えています。 また、連続して台形を作成していきたいと考えています。 ?4本線を引く ?グループ化(Aグループ) ?4本線を引く ?グループ化(Aグループ) ⇒ 連続して作成・・・ Dim st() As Variant Dim ob As Shape Dim MyLine As Shape '線の作成 Set MyLine = ActiveSheet.Shapes.AddLine(startX, startY, widthX, heightY) '線の選択 For Each ob In ActiveSheet.Shapes ReDim Preserve st(j) st(j) = ob.name j = j + 1 Next ob 'グループ化 Worksheets("test").Shapes.Range(st).Select Selection.ShapeRange.Group.Select と上記コードで一つのグループは作成出来たのですが、次に作成すると Worksheets("test").Shapes.Range(st).Select Selection.ShapeRange.Group.Select でエラーになります。 恐らく前のグループ化内の線も選択してしまうのではないかと思っていますが、対処の仕方が解りません。 線の作成方法から選択方法等いろいろ意見が聞きたいと思っています。 アドバイスよろしくお願いいたします。 m(__)m Wordにて、グループ化したものを・・・。 Wordにて、チラシを作成中です!! オートシェイプの図の上にテキストボックスにて文字を貼り付けたり、図を挿入(イラスト)をしました。 それら全てを図形の調整にて選択しグループ化をしました。それによってグループ化されたものを回転させたいのですが?どのようにしたら良いのでしょうか? オートシェイプの時にあった緑色のポイントが、グループ化をしたら消えてしまいました。 尚、図形の調整の回転・反転も選択出来なくなっています。 word2007でのオブジェクトの複数選択 Word2007での複数のオブジェクトの選択方法がよく分かりません。 今までWord2003では、例えばオートシェイプ・クリップアート・ワードアート・テキストボックス・図(写真とかイラスト)を同時に選択したい時には、クリップアートやワードアートも前面に出してからシフトキーを押しながら各々をクリックしていくと上手く選択できました。また、図形描画ツールバーの中の「オブジェクトの選択」を使うと、全ての図を大きくドラッグで囲むだけで一気に選択できていました。 2007で同じことをしようとすると、テキストボックス・オートシェイプ・ワードアート(全て前面にしておく)同士 または クリップアートと図同士 なら複数選択できるのですが、混在させた状態の複数選択は出来ません。「オブジェクトの選択」を使って囲むと、テキストボックス・オートシェイプ・ワードアート(全て前面にしておく)だけが選択されます。クリップアートや図(写真やイラスト)は選択できません。 2007で、オートシェイプ・クリップアート・ワードアート・テキストボックス・図(写真とかイラスト)を混在させて複数選択するには、どうすればいいのか教えてください。2003ではよく使っていたので、困っています。 エクセル マクロ 選択中の複数の図形名を表示するには? エクセル マクロ 選択中の複数の図形名を表示するには? お世話になります。 図形を選択(単一・複数の時あり)している状態で ボタンを押すと図形の名前がメッセージボックスに表示される といった事をしたいのですが、 最近マクロを始めたばかりでどういうコードを書けばいいのかわかりません 一応↓の様に 単一選択している図形の名前を出すまでは何とか自力で出来ましたが、 Sub 図形名の表示_Click() MsgBox (Selection.ShapeRange.Name) End Sub 複数選択した場合の出す方法がわかりません。 どのようにコードを書けばいいのかご教授ください。 VBA 図形の削除 以下のようなコードにおいて、図名を指定するのではなく、図の種類を指定して削除したいのです。 テキストボックスを消す グラフを消す オートシェイプを消す などなど、オブジェクトの種類を指定して消すようにしたいのですが、どうすれば良いですか? Sub 指定図形削除() 図名=”削除したい図形名” For Each zu In ActiveSheet.Shapes If zu.Name = 図名 Then zu.Delete Exit For End If Next End Sub Excelでグループ化オブジェクトにマクロ登録 Excelで複数のオブジェクト(オートシェイプ)をグループ化したものにマクロを登録したいのですが、何回やっても登録できません。 どうやれば登録できるのでしょうか? ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム グループ化した図形を保存できない Wordでオートシェイプ?を数個組み合わせて少々複雑な図形をつくり、それをグループ化してpngファイル(pngでなくてもいいのですが)として保存したいのですができません 別の場所のMacでやったら右クリックすると図の保存 というのが出てきたのですが、自宅のword2003では図の保存というものが無くなっていました windowsでは無理なのでしょうか? エクセルVBAの図形について 図形を使用するVBAをはじめて作成中ですが、わからないことがありましたので質問します。 (1)オートシェイプに独自のプロパティーを設定したいのですが良い方法はありますか? (便宜上、NAMEプロパティーで代用しておりますが複数のプロパティを設定したいのです) (2)ONACTIONプロパティに設定しているマクロに対し、 どの図形から実行されたのか知りたいのですが、良い方法はありますか? (3)ある図形からコネクトされている別の図形を特定する方法はありますか? どれかひとつへの回答でもかまいませんので教えてください。 エクセルで、オブジェクトの選択を禁止する方法。 エクセルのオートシェイプで図形、たとえば四角を書きます。そしてその中にさらにオートシェイプの図形を重ねます。 このような状態で、中の図形を選択しようとして、その図形をクリックすると、かなりの確率で外側の図形のほうが選択されてしまいます。何回かクリックを繰り返し、やっと目的の図形を選択することができます。(もちろん一発で選択できるときもありますが…) また、クリックの微妙な加減ではすぐにオートシェイプの書式設定画面が出てきてしまい、非常に煩わしいです。 もう選択することがない図形を選択禁止にする方法などはないのでしょうか?よろしくお願いします。 「Tab」キーを押していけばひとつずつ選択は切り替わっていくのは知っていますが、これだと図の数が多いと目的の図まで押し続けるのは大変です。なのでそれ以外でお願いします。 Word2007の互換性があるとない場合の図形の複数選択とグループ化の仕方 OSはVistaでWord2007を使用しています。 図形の複数選択(地図やオートシェイプの矢印と吹き出しなど)をした時 に、互換性モードでWord2007以前のファイルをファイル(.doc)を立ち上げ た場合、Shiftキーをおしながら、図形をクリックし複数選択ができました。 しかし、Word2007ファイル(.docx)で同様の操作を行うと地図しか選択できず、グループ化もできませんでした。 なぜ複数選択とグループ化ができないのでしょか? お分かりになる方、教えてください。 エクセルのVBAで図形を均等割りするにはどうすれば エクセルのVBAで図形を均等割りするにはどうすれば良いのか教えていただけないでしょうか 複数図形(画像)の上下左右合わせは以下のメンバで出来るのですが、 均等割りの方法がありましたら、教えていただけないでしょうか メンバ名 説明 msoAlignBottoms 複数図形の下端を揃える。 msoAlignCenters 複数図形を左右中央で揃える。 msoAlignLefts 複数図形の左端を揃える。 msoAlignMiddles 複数図形を上下中央で揃える。 msoAlignRights 複数図形の右端を揃える。 msoAlignTops 複数図形の上端を揃える。 Selection.ShapeRange.Align msoAlignCenters, False 図形のグループ化について Win7 を使い始めて半年。非常に進化していると思うが、使いきれていないため、XPと比べ不便を感じる個所もある。 その一つが、『図形のグループ化』のとき。 XPのときは、複数の図形を一括選択(範囲選択?)出来たのに、Win7ではグループ化したい一つ一つの図形を選択してから、グループ化している始末。非常に不便。 いろいろ調べているが・・・。 なお、『選択』を見ましたが、その中のどの項目を選んでも、グループ化に必要な選択はしてくれない。 ご教授をお願いいたします。 エクセルVBAでShapeRange.Fill.Solidって? オートシェープの書式設定で、 Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 55 Selection.ShapeRange.Fill.Transparency = 0.1 等、いろいろありますが、 このうちShapeRange.Fill.Solidとはどこの部分のどういう設定なのでしょうか?ここだけは意味が分かりません。 オブジェクト名が同じ図形の変更 アクティブセル値と同じオブジェクト名のテキストボックスが複数有ります。そのテキストボックスの大きさやテキスト(アクティブセル値と同じ)の内容に書き換えたいと思っています。 サイズとテキスト書き込みのステートメントをFor Eachで括りました。 途中にMsgboxを入れて確認するとボックスの数だけ繰り返しているのは間違いないのですが、変更できるのは1個だけです。 最初に作った(?)テキストボックスのみを何度も書き換えているのかな?と思っているのですが、複数個の変更をするにはどの様にしたらいいのでしょうか。 宜しくお願い致します。 Sub test() A = ActiveCell.Formula For Each shp In ActiveSheet.Shapes If shp.Name = A Then ActiveSheet.Shapes(A).Select Selection.ShapeRange.Height = 19.5 Selection.ShapeRange.Width = 19.5 With ActiveSheet.Shapes(A).TextFrame .Characters.Text = A End With With Selection.Font .Size = 7 End With End If Next shp End Sub 注目のQ&A " Some " や " How " が入った曲。 持ち家の彼氏との結婚について 私の親に会いたくない同棲中の彼 トランスのプライマリーとセカンダリーを逆に!? Win11へのアップグレードについて 天然と言われない対策どうですか? 雨の日の自転車 浮気は一度してしまったら、一生治りませんか? CDが起動しない 施設で育った方とのお付き合いや結婚について カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る OKWAVE コラム 筋トレで痩せやすくなる?基礎代謝アップ&アフターバーン効果の秘密とは! 🎥 ガンダムシリーズを見たい!どこから見るのがオススメ?🔍 花粉症が辛い…直し方ってあるの?🤧🌲 インフルエンザって何?市販薬は効くの?治療費も解説! これって婚活詐欺?アプリで広がる詐欺の手口とは あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など