[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『画像のファイル名を入力すると表示ができるように…』(mabu)
写真台帳の名称部分に「1」と入力すれば、「1.jpg」の画像ファイルが呼び込めるようにするにはどうすればよいのでしょうか?
宜しくお願い致します。
画像は下記のサイトを参考にして、マクロにてセルの範囲内で自動縮小するように設定はしています。
http://plaza.rakuten.co.jp/plaplanet2007/diary/200705100000
Sub Sample_Prg()
Dim iPicture As String Dim iSheet As String Dim iCell As String Dim iStr As String '追記)ファイル名称
'***************** サンプル変数値の設定 **************** iStr = Cells(1, 1).Value '追記)セルA1 iPicture = "C:\MY DOCUMENTS\MY PICTURES\" & iStr & ".jpg" '挿入する画像ファイル ⇒ 注1 変更)セル番地 iSheet = "Sheet1" '挿入先のシート名称 iCell = "C4:C5" '挿入先のセルの範囲
'***************** 画像ファイルの挿入 ****************** Call MovPicture(iPicture, iSheet, iCell)
End Sub
上記一部変更しました。 A1セルに呼び出したいファイル名称を入れてマクロを実行で出来ると思います。
(Yujin)
●写真5000枚を写真台帳に6枚づつ貼りつけて整理するのが目的です。
●セルに写真名称を入力→保存してあるフォルダから自動的に挿入されるようにしたい。
例)A3サイズの写真台帳(6枚貼りつけられる)の各セル「E10,E17,E24…」に画像フォルダの「23-1から23-100」までの100枚の個々のタイトル画像名を順次入力する。(ページが17ページまでになる。)
※問題点、貼りつける個々のセルごとにマクロを設定したいのに、シート全体の設定になります。generalとworksheetの設定ですか?初心者の稚拙な質問で申し訳ありません。
(mabu)
各シートのE列にはファイル名が記載されているものとします。 貼り付け位置はファイル名称のある行のG列〜J列に6行分としています。 マクロを実行したシートから右にあるシートに対して実行されます。 ファイル名がなくなるところまで(各シートのE列に値がなくなるまで)実行されます。 ファイル名が存在しない場合はエラーが出て止まります。
Sub Sample_Prg()
Dim iPicture As String Dim iSheet As String Dim iCell As String Dim iStr As String '追記)ファイル名称 Dim maxRow As Long Dim iRow As Long Dim ShCount As Integer Dim Sht As Integer
'***************** サンプル変数値の設定 ****************
ShCount = ThisWorkbook.Worksheets.Count
For Sht = ActiveSheet.Index To ShCount With Sheets(Sht) maxRow = .Range("E" & Columns("A").Rows.Count).End(xlUp).Row For iRow = 10 To maxRow If .Cells(iRow, 5) <> "" Then
iStr = .Cells(iRow, 5).Value iPicture = "C:\MY DOCUMENTS\MY PICTURES\" & iStr & ".jpg" '挿入する画像ファイル ⇒ 注1 iSheet = .Name '挿入先のシート名称 iCell = "G" & iRow & ":J" & iRow + 6 '挿入先のセルの範囲
'***************** 画像ファイルの挿入 ****************** Call MovPicture(iPicture, iSheet, iCell) End If Next iRow End With Next Sht
End Sub
このような感じでいかがでしょうか。
(Yujin)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.