[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『写真貼り付け』(てん)
ひとつのセルに”図をファイルから挿入”で写真を貼り付けたときに、自動でその写真のファイル名を別のセルに表示させたいのですが何か良い方法はありますか?
一般機能では出来ないように思います。 最近作ったマクロです。 MsgBox fp を付け加えました。 これで選択したファイルのパスを取得します。
Dim Fp As Variant
Dim F As Variant
Dim i As Long
Dim sp As Object
Fp = Application.GetOpenFilename("JPGファイル(*.jpg),*.jpg,全てのファイル(*.*),*.*", _
Title:="画像選択", MultiSelect:=False)
If TypeName(Fp) = "Boolean" Then Exit Sub
MsgBox fp
Set sp = ActiveSheet.Pictures.Insert(Fp)
With ActiveSheet.Shapes(sp.Name)
.Height = ActiveCell.Offset(1).Top - ActiveCell.Top
.Top = ActiveCell.Top
End With
(MARBIN)
ただ、マクロとはどのように使用すればいいのですか?
重ね重ねすみません。
よろしくお願いします。
Alt+F11 でVBEを開きます。
VBEが開いた状態で 挿入→標準モジュール で標準モジュールを挿入します。
標準モジュールのウィンドウに
↑で提示したコードをコピペします。
VBEのウィンドウを右上の赤い×でとじます。
エクセルに戻ったら、 ツール→マクロ→マクロ で実行するマクロの名前を選択してOKで マクロが実行されます。
>MsgBox fp
これはメッセージで表示するだけですので、 セルに転記する場合は、 'アクティブセルの一つ右隣に転記 ActiveCell.Offset(,1).Value = fp などとします。 (MARBIN)
ツール→マクロ→マクロ で実行するマクロの名前を選択してOKで マクロが実行されます。
ここでどうやってマクロの名前を選択するのですか?
Sub TEST()
Dim Fp As Variant
Dim F As Variant
Dim i As Long
Dim sp As Object
Fp = Application.GetOpenFilename("JPGファイル(*.jpg),*.jpg,全てのファイル(*.*),*.*", _
Title:="画像選択", MultiSelect:=False)
If TypeName(Fp) = "Boolean" Then Exit Sub
MsgBox Fp
Set sp = ActiveSheet.Pictures.Insert(Fp)
With ActiveSheet.Shapes(sp.Name)
.Height = ActiveCell.Offset(1).Top - ActiveCell.Top
.Top = ActiveCell.Top
End With
End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.