- ベストアンサー
画像をアクティブセルの左上隅に配置し任意のセルに
- 画像をアクティブセルの左上隅に配置し、任意のセルに画像ファイル名を自動で入力する方法について教えてください。
- FilePathを使用して画像を選択し、アクティブシートに貼り付けます。また、ファイル名をC2セルに自動で入力する方法についても教えてください。
- 拡張子を明記するコードとしないコードの二つを組み合わせることで、希望する動作を実現できると思います。具体的な手順をお教えします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
sub macro1() dim myFile as string myfile = application.getopenfilename(FileFilter:="画像 ,*.png; *.jpg; *.gif; *.bmp", Title:="ファイルの選択") if myfile = "False" then exit sub if activecell.row = 1 then activecell.offset(1).select ActiveSheet.Pictures.Insert(myfile).Select Selection.ShapeRange.LockAspectRatio = msoTrue Selection.ShapeRange.Width = Selection.ShapeRange.Width * 1# Selection.ShapeRange.Left = ActiveCell.Left + 2.25 Selection.ShapeRange.Top = ActiveCell.Top + 2.25 With Selection.ShapeRange.Line .Weight = 2.25 '線の太さを2.25に .ForeColor.RGB = RGB(255, 0, 0) '赤枠に End With myfile = dir(myfile) '拡張子を表示したくないときは下記を生かす 'myfile = left(myfile, instr( myfile, ".") -1) activecell.offset(-1, 0) = myfile end sub みたいな。
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
>・・・RGB(255, 0, 0) '赤枠に 赤枠を表示するのなら Line.Visible = msoTrue としなければ Sub 図形挿入() Dim FilePath As Variant FilePath = Application.GetOpenFilename(FileFilter:="画像 ,*.png; *.jpg; *.gif; *.bmp", Title:="ファイルの選択") If FilePath = False Then Exit Sub With ActiveSheet.Pictures.Insert(FilePath).ShapeRange .LockAspectRatio = msoTrue .Width = .Width * 1# .Left = ActiveCell.Left + 2.25 .Top = ActiveCell.Top + 2.25 With .Line .Weight = 2.25 .Visible = msoTrue '線を表示 .ForeColor.RGB = RGB(255, 0, 0) '赤枠に End With End With ActiveCell.Offset(0, -1) = Dir(FilePath) '拡張子を表示しない場合 'ActiveCell.Offset(0, -1) = Split(Dir(FilePath), ".")(0) End Sub
お礼
ありがとうございます まさにやりたいことです 大変助かりました 嬉しいです
お礼
ありがとうございます 的確にご教授頂けて嬉しいです 困っていたので嬉しいです