• 締切済み

Excelの既存シートへの写真自動貼付け

With ActiveSheet.OLEObjects("Image" & i) .Object.PictureSizeMode = 3 .Object.Picture = LoadPicture(myDir & myFile) ・・・のようなimage等を使わず、単純に貼りつけるだけのプログラムを教えて下さい。  具体的にはエクセルの挿入で貼りつけた図1~n の写真を得ることです。

みんなの回答

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

Dim s As Shape Dim filename As String filename = "filepath" Set s = Sheet1.Shapes.AddPicture(filename, msoTrue, msoTrue, 10, 10, 100, 100) この様な事ですか??

yosio3198
質問者

お礼

ありがとうございました。これでプログラムを完成することができます。

yosio3198
質問者

補足

質問者です。Set s = Sheet1.Shapes.AddPicture(filename, msoTrue, msoTrue, 10, 10, 100, 100)・・・の行で実行時エラー’424’オブジェクトが必要です・・と出ることがあります。原因はどこにあるのでしょうか。

関連するQ&A

  • サンプルプログラムでエラーが出てしまいます、対処法を教えて下さい。

    Sub test写真の連続挿入()   Dim myDir As String   Dim myFile As String   Dim i As Integer   Dim n As Integer   n = 10   myDir = "D:\写真\" myFile = Dir(myDir, vbNormal)   Application.ScreenUpdating = False   Do Until myFile = ""   If myFile <> "." And myFile <> ".." Then   If (GetAttr(myDir & myFile) And 16) <> 16 Then   i = i + 1   With ActiveSheet.OLEObjects("Image" & i)    .Object.PictureSizeMode = 3    .Object.Picture = LoadPicture(myDir &myFile)   End With   If i = n Then Exit Do   End If   End If   myFile = Dir   Loop   Application.ScreenUpdating = True End Sub このWith ActiveSheet.OLEObjects("Image" & i)の行でエラーが出てしまいます、対処法を教えて下さい。( 実行時エラー'1004'OLEObjects プロパティを取得できません)

  • エクセル2010のvbaについて

    Image1.picture = LoadPicture() 上のImage1を変数にすることはできますか? WithやActiveSheet.Shapes.Range(Array(""))なども実行しましたが 同じエラーしか出ません (オブジェクトは、このプロパティまたはメソッドをサポートしていません) 回答お願いします

  • オートメーションエラー

    VBからExcelシート上のPictureBoxに画像を呼び込もうとしていますが、オートメーションエラーが出ます。 どうしてですか?Excel-VBAで同じ事をすると正常に動作します。 'Excel上にあるPictureBoxオブジェクトを取得 Set Image1 = xlSheet.OLEObjects("Image1").Object 'PictureBoxに画像を貼り付ける With Image1 .AutoLoad = True .AutoSize = False .PictureSizeMode = fmPictureSizeModeZoom .PictureAlignment = fmPictureAlignmentCenter .Picture = LoadPicture("C:\MyPicture\...\pict.bmp") ←ここでエラー! End With 開発環境 Win2000(SP2) + VB6.0(SP4) + Excel2000(SP2)

  • コントロールの挿入と同時に画像を表示する方法

    アクティブエックスコントロールのイメージコントロールの設置と同時に、 画像をそのコントロールに表示するvbaを作ってるのですが、 実行時エラー438が発生します。 Sub test() Dim objOLE As OLEObject Set objOLE = ActiveSheet.OLEObjects.Add("Forms.Image.1") With objOLE .Name = "Image" .Picture = LoadPicture("C:\1.gif") End With End Sub C:\1.gifのパスをブラウザで表示させることはできるので、ファイルは存在しているし、 パスは間違っていません。 .Picture = LoadPicture("C:\1.gif") をコメントアウトすれば正常にコントロールが挿入されます。 コントロールの挿入と同時に画像を表示する方法を教えてください。 ご回答よろしくお願いします。

  • エクセルVBAのMultipageの使い方について

    MultipageにそれぞれImagecontrolを張り付けて エクセルで自動作成したマーカー付折れ線グラフを 表示させるマクロを書いてみたんですが 2Pageまでは、上手く動作するんですが3page目をクリックしても 全く反応しません。何がおかしいのかどなたかお分かりの方 ご教授下さい。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Private Sub MultiPage1_Change() Application.ScreenUpdating = False Dim chartrange As Range Me.MultiPage1.Value = 0 ActiveSheet.Range("a8").CurrentRegion.Select Set chartrange = Selection Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=chartrange, PlotBy:=xlRows ActiveChart.Location where:=xlLocationAsObject, Name:="記録" Const graphimage2 As String = "C:\Users\user\Pictures\Graph.bmp" If ActiveSheet.ChartObjects.Count = 0 Then Exit Sub ActiveSheet.ChartObjects(1).Chart.Export graphimage2 If Len(Dir(graphimage2)) > 0 Then With Image1 .PictureSizeMode = fmPictureSizeModeStretch .PictureAlignment = fmPictureAlignmentCenter .BorderStyle = fmBorderStyleNone .Picture = LoadPicture(graphimage2) End With Kill graphimage2 End If ActiveSheet.ChartObjects.Delete Me.MultiPage1.Value = 1 ActiveSheet.Range("a11").CurrentRegion.Select Set chartrange = Selection Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=chartrange, PlotBy:=xlRows ActiveChart.Location where:=xlLocationAsObject, Name:="記録" Const graphimage3 As String = "C:\Users\user\Pictures\Graph.bmp" If ActiveSheet.ChartObjects.Count = 0 Then Exit Sub ActiveSheet.ChartObjects(1).Chart.Export graphimage2 If Len(Dir(graphimage3)) > 0 Then With Image2 .PictureSizeMode = fmPictureSizeModeStretch .PictureAlignment = fmPictureAlignmentCenter .BorderStyle = fmBorderStyleNone .Picture = LoadPicture(graphimage3) End With Kill graphimage3 ActiveSheet.ChartObjects.Delete End If Me.MultiPage1.Value = 2 ActiveSheet.Range("a14").CurrentRegion.Select Set chartrange = Selection Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=chartrange, PlotBy:=xlRows ActiveChart.Location where:=xlLocationAsObject, Name:="記録" Const graphimage4 As String = "C:\Users\user\Pictures\Graph.bmp" If ActiveSheet.ChartObjects.Count = 0 Then Exit Sub ActiveSheet.ChartObjects(1).Chart.Export graphimage4 If Len(Dir(graphimage4)) > 0 Then With Image3 .PictureSizeMode = fmPictureSizeModeStretch .PictureAlignment = fmpictueralignmentcenter .BorderStyle = fmBorderStyleNone .Picture = LoadPicture(grphimage4) End With Kill graphimage4 End If ActiveSheet.ChartObjects.Delete Application.ScreenUpdating = True End Sub

  • イメージコントロールに画像をセット

    イメージコントロールに画像をセットしたいのですが、下記ではうまく動きません。 どうしたらよいでしょうか。 Private Sub Workbook_Open() ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _ DisplayAsIcon:=False, Left:=137.25, Top:=20.25, Width:=270, Height:= _ 154.5).Select Worksheets("Sheet1").Image1.Picture = LoadPicture("D:\My doc\My Pictures\11.jpg") 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)の様な指定なしにできませんでしょうか。

  • excel vbaの質問です

    for L=1 to 6 cellphoto = "C:\Documents and Settings\user\デスクトップ\kao\" & Sheets("Sheet7").Cells(L, "h") photokozinForm("kaoImage" & L).Picture = LoadPicture(cellphoto) next excelのformにaccessと同じように6recordが表示されているように区切ってその中にkaoImage1からkaoImage6までImageコントロールに顔Imageを表示させようとしてありますが上記コードでfor文で作成すると指定されたオブジェクトは見つかりませんとerrorになってしまいます仕方なくif文で If L = 1 Then photokozinForm.kaoImage1.Picture = LoadPicture(cellphoto) ElseIf L = 2 Then photokozinForm.kaoImage2.Picture = LoadPicture(cellphoto) でやっていますがfor文でできないでしょうか

  • エクセルにフォルダにある画像を貼付&整列する方法

    下記にあるマクロより、 選択したフォルダ内の画像ファイル(jpgファイル)すべてをA列に挿入、 B列にA列のファイル名の書き込みは出来ましたが、、、 この画像ファイルをファイル名ごとに整列する方法をお教え願います。 目的は、画像を横に並べ写真を比較したいです。 (例) 頭に「1」が付くファイル名・・・A列 頭に「2」が付くファイル名・・・C列 頭に「3」が付くファイル名・・・E列 よろしくお願いします。 (マクロ) Sub InsertPictures()  Dim i As Integer  Dim myDir As String  Const myHeight = 200 '行の高さ。0-409を指定。写真のサイズがこれで調整される。  Const myWidth = 50 '列の幅。0 - 255を指定。  Dim myFName As String    myDir = Application.GetOpenFilename(FileFilter:="すべての図(*.jpg),*.jpg")  If myDir = "False" Then Exit Sub  myDir = Left(myDir, Len(myDir) - Len(Dir(myDir)))    Application.ScreenUpdating = False   ActiveSheet.DrawingObjects.Delete   Columns(2).ClearContents   Rows.AutoFit      i = 1   myFName = Dir(myDir & "*.jpg")     Do While myFName <> ""    With Cells(i, 1)     .Activate     .RowHeight = myHeight    End With    With ActiveSheet     .Pictures.Insert myDir & myFName     With .Shapes(i)      .LockAspectRatio = msoTrue      .Height = myHeight     End With    End With    Cells(i, 2).Value = myFName    myFName = Dir    i = i + 1   Loop   Columns(1).ColumnWidth = myWidth   Columns(2).AutoFit  Application.ScreenUpdating = True End Sub

  • VBAにて写真貼り付け

    EXCEL2010を使用しています。 D3に於いて名前を選択できるようにしています。D3に入力する名前と同一の写真(JPG)がDISK TOP上フォルダー内に複数あります。 D3で名前選択時,該当する写真をA5:M29に表示したい。 以下のコードは他の方が使われてるコードを参考にしたもので、※印の場所でエラーとなります何が 原因なのか?他の部分も合わせ教えて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$3" Then myPath = "C:\Users\Users\DeskTop\PHOT" myFile = myPath & Range("D3").Text & ".jpg" For Each sh In ActiveSheet.Shapes If Left(sh.Name, 7) = "Picture" Then sh.Delete End If Next Range("A5:M29").Select myTop = Selection.Top myLeft = Selection.Left myWidth = Selection.Width myHeight = Selection.Height ※ActiveSheet.Pictures.Insert(myFile).Select With Selection .Top = myTop .Left = myLeft .Width = myWidth '画像の幅 .Height = myHeight '画像の高さ End With Range("D3").Select End If End Sub

専門家に質問してみよう