[[20041023112618]] 『サムネイル表示したい』(あき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『サムネイル表示したい』(あき)

はじめまして
宜しくお願いします。

あるフォルダの中にある写真を、ユーザーフォームに
サムネイル表示したいのですが

お願いします。

Excel2002
WindowsXPです


 なんだかコード的にかっこよくない。
のっぺら坊のフォームにコード貼り付けてお試しください。
Imageコントロールを想定しています。
 
'////////////////////////////////////////////////
 Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 Rem TEST_20041023
 Rem ユーザーフォームダブルクリックで開始
 Dim i As Long, s As Long
 Dim Ctrl As Control
 Dim MyPath As String, MyName As String
 Rem 画像を縦に並べる個数設定
 Const n  As Long = 5
 Rem フォルダ、検索ファイル拡張子セット
 MyPath = "c:\My Documents\My Pictures\temp\"
 MyName = Dir(MyPath & "*.jpg")
 Rem カウンタ初期化
 i = 0
 s = 0
 Rem 変数MyNameが空白になるまで繰り返し
 Do While MyName <> ""
     Rem フォームのサイズ変更しながらImageコントロール追加
     If s = 0 Then Me.Height = 20 + 40 * (i + 1)
     Me.Width = 40 * (s + 1)
     Set Ctrl = Controls.Add("Forms.Image.1")
     With Ctrl
         Rem 画像縦横比維持表示、サイズ、表示位置調整
         .PictureSizeMode = fmPictureSizeModeZoom
         .Picture = LoadPicture(MyPath & MyName)
         .Height = 40
         .Width = 40
         .Top = 40 * i
         .Left = 40 * s
     End With
     Rem 次のファイル名をセット カウンタ値調整
     MyName = Dir
     i = i + 1
     If i Mod n = 0 Then
         s = s + 1
         i = 0
     End If
 Loop

 End Sub
'////////////////////////////////////////////////
 
でも、コントロールの追加だけしても、
あんまり意味ないような?
クリックしたりして何かをするんでしょうけど、
コード用意しとかないと何も起こらない・・・。
(みやほりん)


 すみません。(みやほりん)さん教えて下さい。
 >のっぺら坊のフォームに・・・
 これって、ワークシート上にフォームのツールバーから何かしらのフォームを
 作って、それにコードを貼り付ける・・・ということでしょうか?
 コードを貼り付ける事自体うまくいかないもので・・・
 宜しく御願いします。
 (EVO7)

 「ユーザーフォーム」はツールバーの「フォーム」とは別物です。
「自作のダイアログボックス」のようなものです。
 
Excelでユーザーフォームを設定したいブックを開いて
Altを押しながらF11、VBE (=VisualBasicEditor)を起動します。
左側のプロジェクトウィンドウでVBAProjectのブック名を確認して
VBEのメニューバーで「挿入」>「ユーザーフォーム」で
ユーザーフォームを作成、表示されたフォームを右クリック、
「コードの表示」でコードウィンドウが表示されるので、
上記コードをユーザーフォームへ貼り付けます。
(参照したいフォルダ、ファイルの種類は
変数MyPath、MyNameで変更してください)
 
試験的に起動するにはVBEで「マクロの実行」ボタン。
 
Excelからの起動は・・・
標準モジュールへ下記のようなマクロを作成したあと、
'////////////////////////////////////////////////
 Sub ユーザーフォーム表示
 UserForm1.Show
 End Sub
'////////////////////////////////////////////////
Alt+F8で「ユーザーフォーム表示」を実行します。
(みやほりん)


 (みやほりん)さん、ようやく理解できました。大変ありがとう御座いました。
 シートのコードやら、フォームやら、コントロールやらVBを記述するものが
 色々あって、その使い分けにまだ理解不足有りますが、頑張っていこうと思います。
 又、お世話になる事があるかも知れませんが、その際は宜しく御願いします。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.