• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6 エクセルに画像貼り付け)

VB6エクセルに画像貼り付け

このQ&Aのポイント
  • VB6でエクセルの特定のセルに画像を貼り付ける方法について調査しました。ActiveSheet.Pictures.InsertとActiveSheet.Shapes.AddPictureを試しましたが、AddPictureはVB6に対応していないようです。
  • VB6でエクセルのセルに画像を読み込んで貼り付ける方法を調査しています。ActiveSheet.Pictures.InsertとActiveSheet.Shapes.AddPictureを試しましたが、VB6にはAddPictureが対応していないため構文エラーが発生しています。
  • VB6でエクセルの特定のセルに画像を張り付ける方法を探しています。試しにActiveSheet.Pictures.InsertとActiveSheet.Shapes.AddPictureを使用してみましたが、VB6ではAddPictureは構文エラーになってしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

ActiveSheet はExcelVBAですから VB6から操作するにはExcelオブジェクトから 記載しないとダメなのでは? ⇒画像の縦横のサイズが0になっているのは気になりましたので、 こちらは100とさせてもらいましたけど。 Excelの参照設定は行なわれているとして Dim xlApp As New Excel.Application Dim xlWb As Excel.Workbook Dim xlWs As Excel.Worksheet Dim FileNameTmp As String Set xlWb = xlApp.Workbooks.Open("C:\abc.xls") xlApp.Visible = True Set xlWs = xlWb.ActiveSheet FileNameTmp = "C:\test.jpg" ' シートオブジェクトを用いない時 xlApp.ActiveSheet.Shapes.AddPicture FileNameTmp, False, True, 10, 20, 100, 100 'シートオブジェクトを用いた時 'xlWs.Shapes.AddPicture FileNameTmp, False, True, 10, 20, 100, 100 こんな感じじゃないですかね? ⇒閉じるとか解放については省いてます。

usami33
質問者

お礼

ありがとうございました。 括弧を外せばよかったんですね。 先ほどためして、無事動作しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel VBA マクロ 画像(図)貼り付け

    Excel2010にて、 VBA マクロ 画像(図)貼り付けを行いたいと思っています。 しかし、マクロを自動登録すると、ActiveSheet.Pictures.Paste.Selectになり、AddPicture ができません。 下記のマクロをAddPictureへ変換したいのですが、そのまま、InsertをAddpictureに変更してもエラーになってしまいます。 いい方法を教えてください(ToT)/~~~。 どうぞよろしくお願いします。 Sub Test() ' ' Test Macro ' Rows("4:4").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Selection.RowHeight = 150# Range("C4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileC.gif"").Select ActiveSheet.Pictures.Paste.Select Range("D4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileD.gif"").Select Selection.Cut Range("D4").Select ActiveSheet.Pictures.Paste.Select Range("E4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileE.gif"").Select Range("E4").Select ActiveSheet.Pictures.Paste.Select Range("F4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileE.gif"").Select ActiveSheet.Pictures.Paste.Select Range("G4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileG.gif"").Select Selection.Cut ActiveSheet.Pictures.Paste.Select Range("H4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileH.gif"").Select Selection.Cut ActiveSheet.Pictures.Paste.Select Range("I3").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileI.gif"").Select Selection.Cut ActiveSheet.Pictures.Paste.Select Range("J4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileJ.gif"").Select Selection.Cut ActiveSheet.Pictures.Paste.Select Range("K3").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileK.gif"").Select Selection.Cut ActiveSheet.Pictures.Paste.Select Range("L3").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileL.gif"").Select ActiveSheet.Pictures.Paste.Select Range("M4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileM.gif"").Select Selection.Cut ActiveSheet.Pictures.Paste.Select Range("N4").Select ActiveSheet.Pictures.Insert( _ "E:\FolderA\fileN.gif").Select Selection.Cut ActiveSheet.Pictures.Paste.Select End Sub

  • エクセルでリンクされたイメージが表示できません

    エクセルでリンクされたイメージが表示できませんとたまに表示されます。 この理由はどうしてですか? 画像は下記のVBAを用いてセルC113に貼っています。 Sub 貼付() ActiveWindow.View = xlNormalView Range("C113").Select myFileName = "C:\凡例.bmp" '---挿入する画像ファイルの指定 'Cells(113, 3).Select 'ActiveSheet.Pictures.Insert Filename:=myFileName '---選択位置に画像を挿入 Set myShape = ActiveSheet.Shapes.AddPicture(Filename:=myFileName, _ LinkToFile:=True, SaveWithDocument:=False, Left:=Selection.Left + 50, _ Top:=Selection.Top, Width:=200#, Height:=100#) end sub

  • 画像の貼り付けに関して

    環境:Visual Basic 2008 教えて下さい。 現在、あるフォルダに格納されている画像ファイルを、EXCELに貼り付けるような プログラムを作成中で、以下のようなサンプルを見つけましたが、単純に貼り付けではなく、 指定のセルに貼り付けたいと考えています。 そのような指定のセルに貼り付ける為にはどのような記述をしたら良いでしょうか? 教えて下さい。 《現在の記述》 Dim xlApp As New Excel.Application Dim xlWb As Excel.Workbook Dim xlWs As Excel.Worksheet Dim FileNameTmp As String xlWb = xlApp.Workbooks.Open("C:\abc.xls") xlApp.Visible = True xlWs = xlWb.ActiveSheet FileNameTmp = "C:\ABC.png" ' シートオブジェクトを用いない時 xlApp.ActiveSheet.Shapes.AddPicture(FileNameTmp, False, True, 10, 20, 100, 100) 'シートオブジェクトを用いた時 'xlWs.Shapes.AddPicture FileNameTmp, False, True, 10, 20, 100, 100 よろしくお願いします。

  • エクセルの画像リンク解除

    Pictures.Insert で書かれた内容を Shapes.AddPicture の構文に変更したいのですが、 VBAの知識が乏しいので、なかなかうまくいきません。 どなたかわかる方はいらっしゃいますでしょうか? 宜しくお願いします。 Sub Test() Range("B3").Select Dim fName, pict As Picture fName = Application.GetOpenFilename("JPG, *.jpg", MultiSelect:=True) If IsArray(fName) Then For i = 1 To UBound(fName) Set pict = ActiveSheet.Pictures.Insert(fName(i)) pict.TopLeftCell = ActiveCell pict.Width = ActiveCell.Width * 2 pict.Height = ActiveCell.Height * 6 ActiveCell.Offset(7, 0).Activate Next i End If End Sub

  • VBA 画像貼り付けのオプション指定法

    VBA初心者です。MS Office 201で,Excelに画像を貼り付けるとき,アスペクト比を保って幅を指定,位置をセルの位置で指定,名前を付けたいので,ネットを参考にして,以下の通りにしました。 Range("A6").Select 'A6の位置を指定 ActiveSheet.Pictures.Insert(myFile).Select 'myFileはあらかじめ設定 With ActiveSheet.Shapes(3) .LockAspectRatio = True .Width = 160 .Name = "Pict01" '名前はPict01 End With ここで,Shapes(3)の3は,画像やボタンがこのシートで3番目だからです。しかし,マクロ実行前に,ボタン等を増やすと変わってきてしまいます。この(3)の様な指定なしにできませんでしょうか。

  • エクセル★画像選択のVBAコード

    いつも参考にさせて頂いております。 リンク先の画像貼付まではうまく行くのですが 貼り付けた画像のセレクト方法を教えてください。 VBAコード Range("a1").Select Sheets("sheet2").Select Sheets("sheet1").Pictures.Insert Cells(2, 2) Sheets("sheet1").select 質問内容 シート1のA1に貼り付けられた画像を選択したいのですが・・・? ActiveSheet.Shapes("Picture 10").Select               ↑ このコードでは画像のナンバーが変わるとエラーとなってしまいます。 どうぞ宜しくお願いいたします。

  • ExcelVBAで画像をシートに貼り付けたり、張り付いた画像を削除した

    ExcelVBAで画像をシートに貼り付けたり、張り付いた画像を削除したりするとき マクロの自動記録で次のようにしています。 1.貼り付け ActiveSheet.Pictures.Insert(画像ファイル名).Select 2.削除 ActiveSheet.Shapes("Picture n").Select Selection.Cut "Picture n"のnは数値です。この数値がどんどんカウントアップされます。 カウントアップされると、このブックを閉じないで使い続けていると10万でも100万でもカウントアップされてしまうのでしょうか? "Picture n"ではなく、「画像ファイル名」とか、任意に設定した名称で指定することはできないでしょうか? よろしくお願いします。

  • エクセル VBA 画像操作

    VBAについて質問です。 画像を何枚かを重ねて、シート上に置いてあります。 VLOOKUPにて、画像番号を獲得して、その番号の画像を最上面へ移動させたいのですが ActiveSheet.Shapes.Range(Array("Picture 201")).Select ActiveWindow.SmallScroll ToRight:=-342 Selection.ShapeRange.ZOrder msoBringToFront ActiveSheet.Shapes.Range(Array("Picture 221")).Select ActiveWindow.SmallScroll ToRight:=-342 Selection.ShapeRange.ZOrder msoBringToFront ActiveSheet.Shapes.Range(Array("Picture 215")).Select ActiveWindow.SmallScroll ToRight:=-342 Selection.ShapeRange.ZOrder msoBringToFront ("Picture 215")の部分を、セルの値で変更したいのですが どうか、お力お貸しください。 よろしくお願いします。

  • エクセルに画像を取り込めたのですが・・・

    マクロでクリアしたいのですけど クリアボタンでどんな命令を入れたらよいのでしょうか? Shape1.Delete で消せと、本には書いてあるのですが・・・ Sub クリア() Range("P4").Select Selection.ClearContents Range("P4").Select Shape1.Delete End Sub だと、エラーになります・・・当たり前ですが・・・ 文字と一緒に消したいのに消えない・・・ それと、写真をファイル名で検索して取り込むのことは可能ですか? Sub クリック写真表示() Dim shape1 As Object Set shape1 = ActiveSheet.Shapes.AddPicture("C:\Users\Iida\Pictures\10001.bmp", _ False, True, 549, 62, 161, 121) Range("P4").Select End Sub これだと、指定した写真しか入りません。。。 IFが使えるということなんですが・・・?? すべて跳ね返されます。。。頭が痛い・・・

  • 画像ファイルを保存する方法

    洗濯してる画像を保存するvbaコードが知りたいのですが Sub Sample() Dim PicFile As String Dim myRess As Variant PicFile = "C:\Users\test.jpg" ActiveSheet.Pictures.Insert PicFile ActiveSheet.Pictures.Insert(PicFile).Select PicFile = Selection.Name myRess = ActiveSheet.Shapes(PicFile).Picture.Export( _ ThisWorkbook.Path & "\test.jpg", "JPG", False) End Sub だと実行時エラー438になります。 Export メソッドは、グラフにしか使えないのでしょうか? 画像ファイルを保存する方法をご教授ください。