プロが教えるわが家の防犯対策術!

質問1
写真を縦に取り込むには以下マクロをどのように変えたらよいのか?
を教えてください。

質問2
JPGとjpgを取り込むにはどうしたらよいのでしょうか?


Sub test01()
ListUp_FileList ("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures")
End Sub
Sub ListUp_FileList(FolderSpec)

Dim File_Collection As Object
Dim File_List As Variant
Dim cnt As Integer

Set File_Collection = CreateObject("Scripting.FileSystemObject") _
.GetFolder(FolderSpec).Files

cnt = 1
l = 10
For Each File_List In File_Collection
If Right(File_List, 4) = ".jpg" Then
'Range("A" & Format(cnt)) = File_List.Name
ActiveSheet.Pictures.Insert(FolderSpec & "\" & File_List.Name).Select
Selection.ShapeRange.Left = l + (cnt - 1) * 150
Selection.ShapeRange.Width = 130
Selection.ShapeRange.Height = 104
Selection.ShapeRange.Top = 360
cnt = cnt + 1
End If
Next
End Sub

A 回答 (3件)

写真を90度回転させる記録マクロがヒントになりますが...



むしろ、Photo Editor とか、フリーツールで画像自体を回転
など編集しておいてから、Excel に取り込んだ方が良いのでは?

この回答への補足

回答有り難うございます。
えーっと、写真を回転させて縦にしたいのではなく、写真を縦に配列させたいのです。現状では、横に配列されてしまいます。

補足日時:2007/10/20 18:02
    • good
    • 0

1.への回答


Left

Top
の意味を理解してください。
理解できれば、自ずとどこをどのように書き換えればいいか
分かると思います。

2.への回答
UCase
を使ってはいかがでしょう?
    • good
    • 0
この回答へのお礼

回答有り難うございました。
うーん、理解はできてないけど、色々とかえてみたら何とかできました。何となくですが、LeftとTopの意味がわかったような感じです。
どうも有り難うございました。

お礼日時:2007/10/21 20:30

> 写真を回転させて縦にしたいのではなく、写真を縦に配列させたいのです。



失礼しました。既に的確なご回答がありますが、参考まで。

■ 1. について
#2 ご回答のとおりだと思います。

■ 2. について
VB(A) は文字列比較において「大文字・小文字」を原則的に区別します。
2. のポイントは「大文字・小文字」を区別しないで文字列を比較する方法
ということになります。

これも #2 ご回答のとおりですが、補足します。

方法1)UCase(または LCase)で大文字(または小文字)に統一して比較する
  If Ucase(Right(File_List, 4)) = ".JPG" Then

方法2)StrConv で大文字(または小文字)に統一して比較する
  If StrConv(Right(File_List, 4), vbLowerCase) = ".jpg" Then

方法3)StrComp のテキスト比較モード(vbTextCompare)で比較する
  If StrComp(Right(File_List, 4), ".jpg", vbTextCompare) = 0 Then

方法4)モジュールの先頭に Option Compare Text を書く

上記の関数の使い方や詳しい意味はヘルプなり、WEB 検索で調べて下さい。
    • good
    • 0
この回答へのお礼

回答有り難うございました。
問題は解決できました。
本当に有り難うございました。

お礼日時:2007/10/21 20:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!