エクセルで作った「商品リスト」があります。
作家名や色など、好みの条件で検索してもらうには扱いなれている方の多いエクセルがいいかと思ってエクセルにしました。
リスト中の画像が小さいので、拡大表示出来るようにしたいのです。
クリックしたら、メッセージボックスが起動してその中に任意の拡大画像が表示される
もしくはIEを使って別窓で開くようにしたいのですが、このとき、余分なボタンやスペースが表示されないようにしたいのです。(某書籍販売サイトア○ゾンみたいに、戻るボタンか、クローズボタンのみになるのが理想です)
エクセルでそういったことが可能なのでしょうか??
VBAは勉強してみよう!と思ってはじめたところです。はっきりいってど素人の域を出ません。
でも、挑戦してみたいので、お手数ですが、方法をご存知の方、教えてください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>画像のほうがかなり圧縮しちゃったので荒く、ぼやっとして
ということは、「リスト中の画像」と「拡大画像」とはファイルが異なるということですね。
次のような段取りはいかがでしょうか?
1)「商品リスト」に貼り付けられた「リスト中の画像」の名前と「拡大画像」のファイル名の対応表を作るか、もしくは、同じ名前にしておく。
2)「リスト中の画像」をクリックすると、「拡大画像」をワークシートに貼り付け、「拡大画像」をクリックするか、別の「リスト中の画像」をクリックするか、あるいは、セルの選択範囲が変わると「拡大画像」を削除します。
上記の操作を行なうためには、ワークシート内の画像にマクロを割付ける必要がありますが、
'-------------------------------------------------------------------
Sub マクロ割付()
Dim myShape As Object
For Each myShape In ActiveSheet.Shapes
If myShape.Type = msoPicture Then
myShape.OnAction = "拡大表示"
End If
Next
End Sub
'-------------------------------------------------------------------
というようなことで、一括してマクロを割付けます。
以下、標準モジュールとシートモジュールに下記のマクロを記述します。
上記(1)で言うと、「リスト中の画像」の名前と「拡大画像」のファイル名が「同じ名前」の場合のマクロです。
「リスト中の画像」に拡張子が付いていない場合は、
myLink = myFolder & Application.Caller & ".JPG"
のように書き換えてください。
まぁ、荒削りなマクロですので、考え方だけご理解いただければ、後はご自分で細々と記述なさってみてください。
'標準モジュール------------------------------------------------------
Sub 拡大表示()
Application.EnableEvents = False
Dim myPic As Object
Dim myFolder As String
Dim myLink As Variant
'閲覧済みの「拡大画像」を削除
On Error Resume Next
ActiveSheet.Shapes("拡大画像").Delete
On Error GoTo 0
If Application.Caller = "拡大画像" Then Exit Sub
'「拡大画像」の保存フォルダのフルパスを指定
myFolder = "C:\My Documents\My Pictures\hoge\"
myLink = myFolder & Application.Caller
Set myPic = ActiveSheet.Shapes(Application.Caller)
'「拡大画像」を貼り付ける
Application.ScreenUpdating = False
ActiveSheet.Pictures.Insert(myLink).Select
With Selection.ShapeRange
.Name = "拡大画像"
.LockAspectRatio = msoTrue
.Left = myPic.Left + myPic.Width
.Top = 0
.Width = Application.Width - (myPic.Left + myPic.Width) - 100
If .Height > Application.Height Then .Height = Application.Height
End With
Selection.OnAction = "拡大表示"
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Select
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'シートモジュール-----------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
ActiveSheet.Shapes("拡大画像").Delete
On Error GoTo 0
End Sub
No.4
- 回答日時:
>回答番号:No.1 この回答への補足
過去ログを紹介した積りがURLを間違えて貼っていたようです。
大変失礼しました。
以下、時間が取れないのでコメントだけで失礼します。
>拡大した画像をさくっと戻せなかったので、挫折しました。
先にも書きましたが、Sub tes1()では画像の下に隠れているセル範囲のサイズを基準にして拡大されているかどうか判定しています。
セル範囲の指定が適切に行われていれば、拡大/復元が交互に切り替えられるようになっています。
画像が貼り付けられているセル(範囲?)サイズはどうなっていますか?
画像の貼り付けサイズは同じですか?
>画像のほうがかなり圧縮しちゃったので荒く、ぼやっとして・・・・
Excelに貼り付けるときに圧縮したということですか?
圧縮前の元画像は同じPC内に保存されているのですか?
もしそういうことなら、ファイルを直接読み込めばどうでしょうか。
表示はユーザーフォームとかコントロールツールボックスのイメージ枠を使えばどうでしょうか。
>「ユーザーフォーム」でも写真を検索表示できるように・・・・・・
そういう風にして、出来ることを蓄積拡大していけばよいと思いますよ。
実際にやってみて、解らないところを、具体的にピンポイントで、質問を発信してください。
はじめてのユーザーフォーム ~ リスト入力
http://hp.vector.co.jp/authors/VA016119/hajimete …
リスト内の各データを、必要に応じて個別で表示したい
http://www.ne.jp/asahi/juku/excel/071119.htm
No.3
- 回答日時:
縮小画像の入ったセルにコメントを挿入し、コメント枠の[書式設定]-[塗りつぶし効果]で、
その画像を指定するのはいかがでしょうか。
セルにカーソルを合わせると、コメント枠サイズの画像が表示されます。
ありがとうございます。こういうやり方もあったんですね!
ちょっと目から鱗でした。
今回は画像の表示がモニタからずれてしまうということで、
「できれば違う方法で」と言うことになってしまったんですが、別機会に是非利用させていただきます。
ありがとうございました。
No.2
- 回答日時:
画像の保存ファイル又はファイルにハイパーリンクを設定してはいかがですか。
写真を表示セルをアクティブにする。 → 挿入 → ハイパーリンク → ハイパーリンクの編集 → 検索先でフォルダ又はファイルを検索 → 表示文字列に適当な名称を入力
入力された文字列をクリックするとリンク先の写真が表示される。
ありがとうございます。
実は最初、ハイパーリンクで拡大表示するようにしてたんですが、それだとIEが立ち上がってしまい、画面をふさいでしまうんです。
年配の方だと、「画面が消えた!」と驚かれるので、保存している(JPG)のままで開いてくれるのが理想だったんです。
なので、メッセージボックス見たいなの使えば、どの縮小画像クリックしても立ち上がるようになって、メモリもあまり食わないのかなー?なんて思ったんです。
不勉強ですみません。ハイパーリンクで、アプリケーションを指定して拡大画像を表示できるのでしょうか。
No.1
- 回答日時:
直接画像サイズを拡大/復元してはだめでしょうか。
対象画像に下記マクロを登録すれば、クリックで拡大/復元されます。
サイズの判定基準を画像の下にあるセルサイズとして
Range("C2:E5").Height
としています。
実状に合わせて書き換えてください。
Sub tes1()
Dim sh As Single
Dim sw As Single
Dim h As Single
With ActiveSheet.Shapes(Application.Caller)
sh = .Height
sw = .Width
If sh <= Range("C2:E5").Height Then
h = 2
Else
h = 0.5
End If
.Height = sh * h
.Width = sw * h
End With
End Sub
別窓で表示するなら、ユーザーフォームでイメージコントロールを使えば良いかもしれません。
エクセルで貼り付けたオブジェクトの画像をユーザーフォームのイメージコントロールで表示する方法
http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=4 …
この回答への補足
ありがとうございます。試してみました。
画像がそのまま大きくなるんですね!自分としてはちょっと嬉しくなったんですが、画像のほうがかなり圧縮しちゃったので荒く、ぼやっとしててアイタタな画像になってしまうことと、拡大した画像をさくっと戻せなかったので、挫折しました。(;_;)
で、
>別窓で表示するなら、ユーザーフォームでイメージコントロールを使えば良いかもしれません。
と仰っていた「ユーザーフォーム」が初耳だったものでそちらを少し検索してみました。
フォーム自作してそこに画像が貼れるんですね!?知りませんでした。
「デフォルトでフォームサイズが固定されている」とコメントされている方がいらっしゃったのですが、少し大きめで表示しつつ、「ユーザーフォーム」でも写真を検索表示できるようになったらいいな!と一瞬思ったのですが、初学者には無謀でしょうか?
もしお手すきでしたらアドバイス下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
夫婦の夜の営みについてです。 ...
-
彼と体の相性が良すぎて悩んで...
-
女性が喘いでいるときの男性の...
-
男性の方に質問です。 バックで...
-
高校生です。彼氏の前で初めて...
-
彼女が感じやすくて可愛い
-
もし週1しか恋人と会えなかった...
-
風俗ってどこまでの接客をします?
-
抱きしめたときに勃起したあそ...
-
彼氏と毎日セックスするのは異...
-
男性に質問です! 電話だけで勃...
-
初体験って気持ちいいの? 男の...
-
フェラチオは妻の義務ですか?...
-
兄妹や姉弟で、キスやエッチし...
-
セックス中に動画や写真を撮る...
-
【男性に質問】彼女をぎゅっっ...
-
彼氏のセックスが下手すぎで幻...
-
実家住まいの場合Hはホテル以外...
-
彼女がフェラをしてくれません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
夫婦の夜の営みについてです。 ...
-
女性が喘いでいるときの男性の...
-
彼と体の相性が良すぎて悩んで...
-
彼氏と毎日セックスするのは異...
-
高校生です。彼氏の前で初めて...
-
男性の方に質問です。 バックで...
-
風俗ってどこまでの接客をします?
-
彼女が感じやすくて可愛い
-
もし週1しか恋人と会えなかった...
-
抱きしめたときに勃起したあそ...
-
男性に質問です! 電話だけで勃...
-
男の人ってなんですぐ勃つの?...
-
初体験って気持ちいいの? 男の...
-
セックス中に動画や写真を撮る...
-
兄妹や姉弟で、キスやエッチし...
-
男性に質問です。 デリヘルって...
-
キスすれば相手を好きでなくて...
-
フェラチオは妻の義務ですか?...
-
彼女がフェラをしてくれません。
おすすめ情報