こんにちは老人会新米会計役員 XP エクセル2003です。
お年ですが少しはエクセルがわかります。
ばばあ部の通信販売の写真入カタログを作成していますが
写真挿入が多いので大変です。2日間OKで調べましたら
セルをダブルクリックすると図の選択画面が出るマクロが
紹介されていました。やってみたら大変便利ですが
オートシェイプへ写真を挿入すれば、大きさ又デザインが
自由になり非常に使いやすくなります。
しかしオートシェイプでは
四角形挿入→右クリ→書式設定→色と線→塗りつぶし
→塗りつぶし効果→図→選んで→挿入
→OKとものすごく手間がかかります。
そこでオートシェイプをダブルクリックしたら図の選択画面へ
ショートカットで行くような事はできませんか。
若手のばあさん(58歳)しかキーボードをさわれません。
でも簡単になれば教えられます。
宜しくお願いいいたします。
No.7ベストアンサー
- 回答日時:
再度の追加訂正です。
m(_ _)mPic = Application.GetOpenFilename(PicType, , _
"挿入する画像を選択", , False)
↓
Pic = Application.GetOpenFilename(PicType, , TTL, , False)
タイトルを変数化したのですが、書き換え忘れしてしまいました。
No.6
- 回答日時:
ごめんなさい。
私の書き込みミスです。最初のモジュール(Sub FillPic)の一部、
PicType = "画像ファイル,*.jpg;*.bmp;*.png;*.gif," & _
"jpgファイル,*.jpg,bmpファイル,*.bmp,pngファイル, _
*.png,gifファイル,*.gif"
の部分を
PicType = "画像ファイル,*.jpg;*.bmp;*.png;*.gif," & _
"jpgファイル,*.jpg,bmpファイル,*.bmp,pngファイル," & _
"*.png,gifファイル,*.gif"
に書き換えてください。
長過ぎると思って改行したのですが、テキストエディタ上で操作したため
気づきませんでした。 (^^ゞ
できました~~ ありがとうございました。
おとといもその前も、昨日の夜も延べ60時間ぐらい過去ログを
見てましたが、同じ内容はありませんでした。
昨日子供が仕事から帰ってきてこれができれば、自由にハート型
などにくりぬいてアルバム、
(卒業アルバムでの欠席写真も簡単にできます。)
又カタログ、工事写真帳、住宅間取り写真、図面をスキャンして、
家具、 照明器具などの配置図、
もうなんか用途いっぱいです。画像も重ねられ、文字も入れられ
まだまだ用途いっぱいありそうですね。
写真の大きさに関係なくオートシェイプの
大きさで張り付く所がいいです。
しかもエクセルなのでみんなにあげられます。←これがいい!!
何回も本当にありがとうございました。
早速ばばあ部のカタログと、
先日のお葬式の写真アルバムを作ります。
ばばあ部又爺さん部もありますので
これからお葬式の写真用が多くなると思います。
ありがとうございました。
このマクロで作成したエクセルには白文字でmisatoannaさんの
名前を入れさせていただきます。どこかでお会いするかも
しれませんね 本等にありがとうございました。m(._.)m
No.5
- 回答日時:
ダブルクリックでなく、オートシェイプ上の右クリックから操作する
案です。
どうしてもダブルクリックがよい場合は、無視してください。
標準モジュールに以下をすべてコピペし、いったんブックを保存して
閉じ、その後改めて開くと、「そのブックに限って」オートシェイプ
の右クリックメニューに「画像を挿入」が表示されるようになります。
Sub FillPic()
Dim Pic
Dim TTL, PicType
TTL = "挿入する画像を選択"
PicType = "画像ファイル,*.jpg;*.bmp;*.png;*.gif," & _
"jpgファイル,*.jpg,bmpファイル,*.bmp,pngファイル, _
*.png,gifファイル,*.gif"
Pic = Application.GetOpenFilename(PicType, , _
"挿入する画像を選択", , False)
On Error GoTo Er
Selection.ShapeRange.Fill.UserPicture Pic
Er: On Error GoTo 0
End Sub
Sub Auto_Open() 'シェイプの右クリックメニューにマクロを追加
Dim NewItem
Set NewItem = Application.CommandBars("Shapes").Controls.Add _
(Type:=msoControlButton)
With NewItem
.Caption = "画像を挿入" 'メニュー表記名
.OnAction = "FillPic" '実行マクロ名
.FaceId = 748 'アイコン番号(748は無地)
End With
Set NewItem = Nothing
End Sub
Sub Auto_Close() 'シェイプの右クリックメニューをリセット
Application.CommandBars("Shapes").Reset
End Sub
この回答への補足
こんばんは何回もすみません。
右クリックで挿入は表示されましたが
実行すると コンパイルエラー表示がでました
PicType = "画像ファイル,*.jpg;*.bmp;*.png;*.gif," & _
"jpgファイル,*.jpg,bmpファイル,*.bmp,pngファイル, _
*.png,gifファイル,*.gif"
の所がエラーらしく赤文字で表示されました
なんかいもすみません
何回もご回答ありがとうございます。
私の操作が悪いのか
新しいBOOKに全部貼り付けて保存してBOOKを閉じ
立ち上げてマクロを有効にして、オートシェイプを作成し右クリック
しましたが、右クリックメニューには画像を挿入
は追加されていません。お手数をおかけいたします
どこか私の操作が間違っていると思いますので
操作手順を詳しく教えてください、
宜しくお願いいいたします。
No.3
- 回答日時:
レスが入れ違いになりました。
私が#2で提示したコードは、クリックしたシェイプの塗りつぶしに
選択した画像を設定するものです。
シートに画像を挿入する場合は、
挿入→図→ファイルから
をマクロの自動記録したら参考になるコードが出来ます。
自動記録で出来たコードのファイルパスの部分にGetOpenFileName
で取得したファイルパスを代入してやります。
文字列ではなく、変数で指定してやります。
No.2
- 回答日時:
サンプルコードです。
Dim sp As Shape
Dim Pic As Variant
Dim F As Variant
Set sp = ActiveSheet.Shapes(Application.Caller)
Pic = Application.GetOpenFilename("JPGファイル(*.jpg),*.jpg,全てのファイル(*.*),*.*", _
Title:="画像選択", MultiSelect:=False)
If TypeName(Pic) = "Boolean" Then Exit Sub
With sp
.Fill.Transparency = 0#
.Line.Weight = 0.75
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = 64
.Line.BackColor.RGB = RGB(255, 255, 255)
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Fill.BackColor.RGB = RGB(255, 255, 255)
.Fill.UserPicture Pic
End With
この回答への補足
こんばんわ何回もご回答ありがとうございます。
教えていただいたサンプルコードでできましたが、
マクロ登録が クリックしかできません
クリックだとオートシェイプをクリックするたび写真
張り付きマクロになり移動や大きさの調整ができません
何か他の動作登録はできますでしょうか?
クリック3回はしてみましたがダメでした、
コントロール+エンターもしてみましたが
登録に何かコツがあるのでしょうか
宜しくお願いいいたします。
No.1
- 回答日時:
シェイプにはマクロを登録できます。
シェイプを右クリックで出てくるメニューの
「マクロの登録」で登録したいマクロを選択します。
でシェイプを"クリック"したら登録したマクロが動作します。
また、↓のようにマクロを呼び出したシェイプの名前の取得も可能です。
Sub test()
MsgBox ActiveSheet.Shapes(Application.Caller).Name
End Sub
ファイルの選択は
Application.GetOpenFilename
が便利です。
フォルダを指定することも可能です。
Dim Pic As Variant
Dim F As Variant
Pic = Application.GetOpenFilename("JPGファイル(*.jpg),*.jpg,全てのファイル(*.*),*.*", _
Title:="画像選択", MultiSelect:=False)
If TypeName(Pic) = "Boolean" Then Exit Sub
MsgBox Pic
この回答への補足
早速のご回答ありがとうございます。
Dim Pic As Variant
Dim F As Variant
Pic = Application.GetOpenFilename("JPGファイル(*.jpg),*.jpg,全てのファイル(*.*),*.*", _
Title:="画像選択", MultiSelect:=False)
If TypeName(Pic) = "Boolean" Then Exit Sub
MsgBox Pic
を貼り付けたら図の選択画面に行きました、
ファイルを選択しましたが挿入が上手くいきません。
写真(jpg)を選択したら挿入じゃなく 開く が出て
開いたら 写真のある場所の表示が出てOKを押しても
変化がありません。宜しくお願いいいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
”挿入”がグレーアウトして選択...
-
複数のエクセル・ワードファイ...
-
手の形のカーソルアイコンについて
-
Power pointに写真の貼り付けが...
-
複数頁のあるPDFファイルをWord...
-
ファイルやフォルダーにリンク...
-
Wordで、文書の中にカットを入...
-
Excel:1つのセルの中にテーブ...
-
オープンオフィスでの画像挿入
-
拡張子がemzのファイルを開きたい
-
Word ヘッダーの異なったファ...
-
図をドラッグ&ドロップで挿入...
-
WINTPICでTEXの図入れ
-
pdfファイルに雲マーク
-
word上の図の赤バツ
-
画像の挿入とコピーの違いについて
-
AccessのOLEオブジェクトについて
-
wordで別々に作ったファイルを...
-
ビットマップとピクチャ、どち...
-
エクセルファイルにPDFファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
”挿入”がグレーアウトして選択...
-
複数のエクセル・ワードファイ...
-
wordで別々に作ったファイルを...
-
ファイルやフォルダーにリンク...
-
Power pointに写真の貼り付けが...
-
複数頁のあるPDFファイルをWord...
-
手の形のカーソルアイコンについて
-
拡張子がemzのファイルを開きたい
-
AccessのOLEオブジェクトについて
-
Excel:1つのセルの中にテーブ...
-
word上の図の赤バツ
-
Word文書の2ページ分を1ページ...
-
複数の画像ファイルを挿入したい
-
画像の挿入とコピーの違いについて
-
pdfファイルに雲マーク
-
Word ヘッダーの異なったファ...
-
ワード 書式を崩さずにコピー...
-
画像がエクセルに直接貼り付け...
-
WORD:リンク挿入した画像のリン...
-
Wordで他のファイルから文字列...
おすすめ情報