• 締切済み

WORD VBAマクロ 図(画像)をすべて選択 

別のファイルからコピーして図(拡張メタファイル)で貼りつけた画像が文書内にたくさんあり、それを一度に選択してスタイルの変更がしたいのですが、マクロだとどうすれば良いのでしょうか? activedocument.shapes.selectall かと思ったのですが、書き込みできません、とエラーが出てしまいます。 ワイルドカードでもよいと思ったのですが、調べてもやり方がないようですので、マクロでなんとかなりませんでしょうか?

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

固定した図形を Shape オブジェクトに変換します。 For Each iShape In ActiveDocument.InlineShapes   iShape.ConvertToShape Next iShape これで選択できませんか

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

図を複数選択するには全ての図を浮動オブジェクトにする必要がありそうです。

参考URL:
http://www.relief.jp/docs/002976.html

関連するQ&A

  • ワードマクロで画像を選択する方法

    「図の挿入」を使って画像ファイルから読み込んで貼り付けた画像を、ワードマクロで選択したいと思っています。 どのようなコードを書けばいいか、教えてください。 ちなみに、以前どなたかがされた質問に対する回答(http://oshiete1.goo.ne.jp/qa2224793.html)で ActiveDocument.Content.ShapeRange.Select を使うという方法が提示されていましたが、「図の挿入」で読み込んだ画像ファイルには使えないようです。 よろしくお願いします。

  • Word2003 「形式を選択して貼り付け」 について

    Excelなどで表を選択しコピーをし、それをWordに“図として”貼り付ける場合、「形式を選択して貼り付け」から操作をしているのですが、その際、図(Windowsメタファイル)と、図(拡張メタファイル)の2つがあります。 どちらにしたらよいのかよくわからないので、詳しく説明できる方お願いします。 (検定試験とかで図として貼り付けと説明があった場合とかは、どれを選んだほうが無難なんでしょうか・・) バージョンは2003です。

  • office2003 wordに、形式を選択して張り付けた図が×になり

    office2003 wordに、形式を選択して張り付けた図が×になり、内容が表示されない 他のPCにてエクセル表をコピーし、 ワードに「形式を選択して貼り付け」⇒貼り付ける形式「図」(または「図(拡張メタファイル)」で貼り付けた図を メールで送ってもらい、 私のPCで開いたとき、図が枠線のみの×表示となり、見ることが出来ません。 見れるようにするには、一体どこをどうすれば宜しいのでしょうか? 全く皆目検討もつきません。 ご存知の方、ご教示の程宜しくお願いいたします。 ※ツール⇒オプション⇒表示タブ⇒「図をイメージ枠で表示する」はチェックが外れていますので、 これが原因ではありません。 (1)ペイントから貼り付けた図・・・・見れます。 (2)貼り付ける形式を「リッチテキスト形式」で貼り付けた図・・・見れます。 (3)貼り付ける形式を「ビットマップ」で貼り付けた図・・・見れます。 (4)貼り付ける形式を「図」で貼り付けた図・・・・・見れません。 (5)貼り付ける形式を「図(拡張メタファイル)」で貼り付けた図・・・・・見れません。 <添付資料> =使用PC・アプリケーション= OS・・・・・・WindowsXP Office・・・・Office2003 Pro メーラー・・・OutlookExpress 6.0

  • ワード形式を選択して貼り付け

    お世話になります。エクセルなどの図形描画で作成したいくつかの画像をグループ化してワードへ貼り付けると、画像内の文字が大きくなってしまったり、画像が崩れる場合があります。 形式を選択して貼り付けの場合、『図』『MSOffice描画オブジェクト』『図(拡張メタファイル)』などがありますが、これらはどのような違いがあるのでしょうか? 元の画像をそのままの形で、他のソフトへコピーする方法を教えて下さい。画質を落としたくないので、GIFなどには変更したくはありません。宜しくお願いします。

  • 挿入した画像を選択したい

    どうぞ宜しくお願いいたします。 シートに挿入したjpg画像をマクロにて削除したいと思っております。 挿入した画像の名前は「図15」だったり、「図20」だったりで 一定の名前がついていません。 もしも、名前のついている画像であれば、 ActiveSheet.Shapes("Picture 32").Select といったように選択することができるのですが、 そのつど挿入した画像なので、名前がランダムです。 宜しくお願いいたします。

  • エクセルVBAで形式を選択して貼付した画像を変数に

    エクセル2010です。 下記のマクロで、グラフを切り取り、形式を選択して貼り付けることはできました。 次に、この画像をオブジェクト変数に代入するにはどのようにSet文を書けばいいのでしょうか? よろしくお願いします。 Sub Test() Dim objChart As ChartObject With Sheets("Sheet1") Set objChart = .ChartObjects(1) objChart.Cut .PasteSpecial Format:="図 (拡張メタファイル)" End With End Sub

  • ワード2007を使っています(図形のVBAについて)

    ワード2007を使っています(図形のVBAについて) ワード2007で、エクセルから拡張メタファイルでグラフをピクチャ貼り付けしています。 貼り付けるとサイズが120%とか少し大きめになってしまうので、いつもリセットして100%にしています。 これをマクロでボタン一つ、又はショートカットで操作したいのですが、2007では図に関しては記憶マクロで作成できないようです。 VBAで書き込みたいのですが、どのように書いたらいいでしょうか? 宜しくお願いします。

  • WORD VBAのShapesのこと

    昨日TTakさんから下記のマクロを御教授いただいて助かっているのですが、特定のShapesを除外して下記を実行する方法があれば教えていただけないでしょうか。 Private Sub CommandButton1_Click() Dim myf As String myf = "ここに画像ファイルまでのパスとファイル名を入れる" With ActiveDocument For i = 1 To .Shapes.Count .Shapes(i).Fill.UserPicture myf Next i End With End Sub

  • VBAで、エクセルワークシート上の図を選択・削除したい

    VBAで、ワークシート上の図をすべて選択して削除するのは、どのように書いたら良いでしょうか?実際の図は一つなのですが、オートマクロで記述すると、 ActiveSheet.Shapes.Range(Array("Picture 3").Select のように、番号が変わってしまいます。

  • word2003のマクロが2007でエラーになる

    word2003(windows2000)で使っていたマクロを、人に頼まれてその人の2007のword(windowsXP)に入れたのですがエラーが出て動かないそうです。 マクロは以下のページにあったものの改造で、どこを直したらよいのかわかりません。 http://okwave.jp/qa/q2344318.html 答えでなく、ヒントでも良いのでどなたか教えてください。 h = Selection.ShapeRange.Heightという行で、「エラー5 プロシージャの呼び出し、または引数が不正です」というようなエラーが出るそうです。 2003ではエラーは出ず、選択されている画像の高さがhに入ります。 よろしくお願いします。 ----------------------------------- Public Sub ChgPest() '選択した画像をクリップボードの中身と入れ替えてemfで貼り付ける Dim T, L, h, W, cl, cr, ct, cb As Integer Dim FName As String Dim MyShape As Shape Dim fd As FileDialog Dim clp As Integer Application.ScreenUpdating = False T = Selection.ShapeRange.Top L = Selection.ShapeRange.Left h = Selection.ShapeRange.Height ←●デバッグするとここが黄色になっている W = Selection.ShapeRange.Width posi = Selection.ShapeRange.RelativeVerticalPosition cl = Selection.ShapeRange.PictureFormat.CropLeft cr = Selection.ShapeRange.PictureFormat.CropRight ct = Selection.ShapeRange.PictureFormat.CropTop cb = Selection.ShapeRange.PictureFormat.CropBottom Set myrange = Selection.Range Selection.Delete Selection.PasteSpecial datatype:=wdPasteEnhancedMetafile 'EMFでペースト clp = ActiveDocument.Shapes.Count 'すべてのshapeを数える Set MyShape = ActiveDocument.Shapes(clp) '最後にペーストしたshape ActiveDocument.Shapes(clp).LockAnchor = False 'アンカーを固定しない ActiveDocument.Shapes(clp).WrapFormat.Type = 3 MyShape.Select With Selection.ShapeRange.PictureFormat .CropLeft = cl .CropRight = cr .CropTop = ct .CropBottom = cb End With Selection.ShapeRange.RelativeVerticalPosition = posi Selection.ShapeRange.Top = T Selection.ShapeRange.Left = L Selection.ShapeRange.Height = h Selection.ShapeRange.Width = W Selection.ShapeRange.ZOrder msoSendToBack Application.ScreenUpdating = True End Sub

専門家に質問してみよう