
No.5ベストアンサー
- 回答日時:
工事写真票の作成ですか?報告書の提出時期ですものね。
(^^;)工事写真ということで、次の点が重要になるかと思います。
1. 貼付けられる順番
工事の様子を時間を追って撮影している場合、順番が重要です。
2. リサイズの問題
工事写真は正確性が求められます。リサイズする場合、縦横比を固定すべきです。
1と2をクリアしつつ、貼付けを楽にするには、EXCELではマクロしか解決方法がありません。個人的にはVIXをお勧めしますが、一応EXCELでのマクロをアップします。貼付け後のサイズはセルの高さにあわせています。必要があれば、コードをカスタマイズして下さい。
ただ、他の方からもご指摘があるとおり、EXCELに200枚の画像は無茶ですね。複数のブックに切り分けましょう。
なお、マクロ[InsertPictures]は#2.papayukaさんのコードをかなり拝借しておりますし、配列のソートプログラムも以前どこかで教えて頂いたものです。クイックソートの方が早いのですが、長くなるので、バブルソートで済ませています。
以下コード。
Option Explicit
Sub InsertPictures()
Dim fName As Variant
Dim i As Long
Dim Pict As Picture
fName = Application.GetOpenFilename("JPGファイル, *.jpg", MultiSelect:=True)
If IsArray(fName) Then
Application.ScreenUpdating = False
'配列に格納されたファイル名をソート
BubbleSort fName, True
For i = 1 To UBound(fName)
Set Pict = ActiveSheet.Pictures.Insert(fName(i))
With Pict
.TopLeftCell = ActiveCell
.ShapeRange.LockAspectRatio = msoTrue
'どちらかをコメントアウト
.ShapeRange.Height = ActiveCell.Height 'セルの高さリサイズ
'.ShapeRange.Width = ActiveCell.Width 'セルの幅にリサイズ
ActiveCell.Offset(0, 1) = fName(i) 'ファイル名書込み
End With
ActiveCell.Offset(2, 0).Activate
Application.StatusBar = "処理中:" & i & "/" & UBound(fName) & "枚目"
Next i
End If
With Application
.StatusBar = False
.ScreenUpdating = True
End With
Set Pict = Nothing
MsgBox i & "枚の画像を挿入しました", vbInformation
End Sub
'値の入替え
Public Sub Swap(ByRef Dat1 As Variant, ByRef Dat2 As Variant)
Dim varBuf As Variant
varBuf = Dat1
Dat1 = Dat2
Dat2 = varBuf
End Sub
'配列のバブルソート
Public Sub BubbleSort(ByRef aryDat As Variant, _
Optional ByVal SortAsc As Boolean = True)
Dim i As Long
Dim j As Long
For i = LBound(aryDat) To UBound(aryDat) - 1
For j = LBound(aryDat) To LBound(aryDat) + UBound(aryDat) - i - 1
If aryDat(IIf(SortAsc, j, j + 1)) > aryDat(IIf(SortAsc, j + 1, j)) Then
Call Swap(aryDat(j), aryDat(j + 1))
End If
Next j
Next i
End Sub
ありがとうございます。
今朝、早速先週分の資料で試めさせていただきました。
定時後数時間、四苦八苦してこなしていた作業が30分ほどで完了しました。
画像貼りにへこたれていささか手抜きとなっていた所見等もこれからはじっくり書けそうです。
何より週末一人ぽつんと残業の憂き目を見なくてすみそうなのが嬉しいです。
No.4
- 回答日時:
そのやりかたで、複数取り込めますよ。
「挿入」→「ファイルから」で画像を選ぶ時に
ctrlキーを押しながら入れたい写真を選べば
同時に選択できます。
また、マウスで複数の図を囲むようにドラッグしておいて
「挿入」ボタンを押す方法でもいいですし。
No.3
- 回答日時:
本当に1点ずつ貼り付けているのですか? 私はマクロが使えないものですから以下の方法でやっています。
そのまえに、「ツール」→「ユーザー設定」で「図形描画」のツールバーを常時表示させてください。また、エクセルはプレビューと実際の印刷にズレがでるので、私はワードを使っていますが、やり方はどちらも同じです。<方法>
画像を選択する際には、何点でも一括選択( Shift または Ctrl を押しながら選択でも可)できますから、まずはエクセル上にまとめて貼り込みます。取り込む枚数はあまり多いと混乱しますので、私は1ページに貼り付ける枚数にあわせて20~30点ずつ取り込んでいます。
そのうえで「複数オブジェクトの選択」で「すべて選択」し、希望のサイズに一括で拡大/縮小します。ここから先は1点ずつ希望の位置に移動して並べてやらなければなりませんが、1点ずつ貼り付けるのに比べたら格段に早いはずです。 なお Excel の古いバージョンには機能が一部ないものもありますが、基本的には問題ないはずです。
それにしても、200枚も貼り付けてまともにExcelが動くのですか? 用途がわかりませんが、サムネイル程度の画質でいいのなら、アルバムソフトを使うと一発でできます。私はその場合、写真のインデックスとしてVixの「アルバム保存」機能を使っています。簡単な設定で1ページに載せる枚数も変えられるので、コンタクトプリント的に保存できて非常に重宝しています。
参考URL:http://www.katch.ne.jp/~k_okada/vixintro/
Shift または Ctrl を押しながら選択とやっているのですが、選択画面では色が反転して選択できているようにはなるのですが実際ワークシートには一枚しか貼られていない…等おもうにまかせませんでした。
200枚~というのは週末にまとめて上がってくる写真の枚数でして、実際各ファイルに貼る枚数は多くても20枚程度です。
No.2
- 回答日時:
200枚もの画像をExcelに取り込むのは反対ですが、、、
やるとしたらマクロでしょう。
下記はサンプルです。
1.Excelで新規ブックを開く
2.ALT+F11でVBE画面を出す
3.VBE画面で挿入-標準モジュール
4.出てきたModule1に下記のコードをコピペ
5.VBE画面を閉じる
6.Excelのツール-マクロ-マクロで「Test」を実行
7.ファイル選択ダイアログでJPGファイルを選択(Shift or Ctrl で複数選択可)してOK
アクティブセルから1つ飛ばしで選択した画像を挿入します。
画像はセルの大きさに合わせます。
'---------------------------------------------------------------------
Sub Test()
Dim fName, pict As Picture
fName = Application.GetOpenFilename("JPG, *.jpg", MultiSelect:=True)
If IsArray(fName) Then
For i = 1 To UBound(fName)
Set pict = ActiveSheet.Pictures.Insert(fName(i))
pict.TopLeftCell = ActiveCell
pict.Width = ActiveCell.Width
pict.Height = ActiveCell.Height
ActiveCell.Offset(2, 0).Activate
Next i
End If
End Sub
'---------------------------------------------------------------------
ありがとうございます。
マクロなんて触ったことも無い私としては
手取り足取りといった解説がありがたい限りです。
おかげさまで今週末からは早く帰ることができそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Microsoft365で写真をアルバム管理・共有する方法。 1 2023/04/30 08:40
- Word(ワード) 写真3枚をA4に貼り付けたい 5 2023/07/03 14:36
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- iPhone(アイフォーン) iphoneで撮影した写真、動画を連番のファイル名で保存したい。 1 2022/04/28 02:12
- その他(暮らし・生活・行事) 契約更新の為に、履歴書を書いて、履歴書用に社員の方がデジカメで写真を撮ってくれました。 撮ってくれた 1 2023/01/31 15:59
- デジタルカメラ ファイルに入れた写真データを取り出せなくなりました 3 2022/09/28 00:12
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- 写真 祖母の古い白黒写真がアルバムで出てきました。 写真を台紙に貼るタイプのアルバムです。 その写真を残し 3 2022/06/04 12:44
- 写真・ビデオ 写真や動画を保存する、これらを満たしたサービスはありませんか。 ・iOS, Android, Mac 2 2023/07/30 18:35
- 格安スマホ・SIMフリースマホ カメラ付きスマホではダメな場合があるの? 15 2022/06/12 09:14
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCELのVBAで画像を選んだ順に貼り付ける方法
Excel(エクセル)
-
エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法
Excel(エクセル)
-
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
-
4
マクロで写真貼付_順番
その他(コンピューター・テクノロジー)
-
5
エクセルのセルに指定画像(.jpg)を自動で貼り付けたいです。
Excel(エクセル)
-
6
エクセル マクロで、選択している画像の数を数えたい
Excel(エクセル)
-
7
エクセルで複数のシートに画像のはりつけ
その他(Microsoft Office)
-
8
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
9
エクセルに張り付けた写真のファイル名が見たい
Microsoft ASP
-
10
エクセル 複数画像挿入 マクロ
Excel(エクセル)
-
11
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
12
Dir関数で読み取り順を操作できる?
Visual Basic(VBA)
-
13
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
14
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
15
開いているファイルをリネームする方法 vba
その他(Microsoft Office)
-
16
excelで直前に参照していたブックに戻るマクロは作れますか?
Excel(エクセル)
-
17
Excel(VBA)で複数の画像を指定して表示する
Excel(エクセル)
-
18
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
19
EXCELに画像を貼り付けマクロの画像大きさ調整にについて教えてください。
その他(Microsoft Office)
-
20
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報