• 締切済み

写真を縦に取り込むには?

質問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

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

> 写真を回転させて縦にしたいのではなく、写真を縦に配列させたいのです。 失礼しました。既に的確なご回答がありますが、参考まで。 ■ 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 検索で調べて下さい。

yamada_tarou
質問者

お礼

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

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

1.への回答 Left と Top の意味を理解してください。 理解できれば、自ずとどこをどのように書き換えればいいか 分かると思います。 2.への回答 UCase を使ってはいかがでしょう?

yamada_tarou
質問者

お礼

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

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

写真を90度回転させる記録マクロがヒントになりますが... むしろ、Photo Editor とか、フリーツールで画像自体を回転 など編集しておいてから、Excel に取り込んだ方が良いのでは?

yamada_tarou
質問者

補足

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

関連するQ&A