はじめに
現在、fotoria、PIXTA、photolibraryの3社のストックフォト会社に写真を登録していますが、複数のストックフォトに登録していると、あるサイトでは審査に通り掲載されているが、あるサイトでは審査NGで掲載できなかった。とか、独占販売にしているので他のサイトでは販売できないという管理が必要になってきます。
一度NGになったのに再度提出してしまったり、OKの写真を再度提出してしまうと、こちらも相手も手間になってしまうので避けたいところ。
みなさんどのようにして管理しているか気になってgoogle検索してみたものの、あまり参考になりそうな情報は無く、EXCELで管理してみたのでその方法を紹介します。
EXCELマクロで管理
初めは写真の実ファイルを会社毎、ステータス毎にフォルダ分けして置いていたのですが、ファイルサイズも小さくは無いのでどんどん容量を食ってしまっていました。
その後、EXCELで写真ファイル名を手動でセルに張り付けていたのですが、登録枚数が多いと結構な手間になっていました。
そこで、かなり昔に、にわかに身に付けたEXCLEマクロの知識を使って1時間程度で作成してみました。
(とりあえずの知識で作ってみたので、今後気が向いたら重複チェックやタグの貼り付けの効率化などを考えてみたいと思います。)
イメージは下記のような感じです。(一部画像にモザイクをかけています。)

-
- A列が縮小した画像
- B列がファイル名
- C~E列が写真の状態
- F列がphotolibraryの販売価格
- G列がタイトル
- H列が独占販売などの備考
- I列がタグ
となっています。
EXCELマクロ使用方法
本マクロ使用による損害は責任を負いかねますので、十分確認の上ご使用ください。
下記のマクロを作成します。
Sub InsertPictures()
Dim i As Integer
Dim myDir As String
Dim myFName As String
myDir = "C:\Users\hogehoge\Desktop\ストックフォト画像\Resized"
Application.ScreenUpdating = False
MaxRow = Range("B2").End(xlDown).Row + 1
If MaxRow = 1048577 Then MaxRow = 1
i = MaxRow
myFName = Dir(myDir & "*.jpg")
Do While myFName <> ""
myFileName = myDir & myFName
With Cells(i, 1)
.Activate
End With
Set myShape = ActiveSheet.Shapes.AddPicture( _
Filename:=myFileName, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=Selection.Left, _
Top:=Selection.Top, _
Width:=0, _
Height:=0)
With myShape
.ScaleHeight 1, msoTrue
.ScaleWidth 1, msoTrue
End With
Cells(i, 2).Value = myFName
myFName = Dir
i = i + 1
Loop
Application.ScreenUpdating = True
End Sub
あらかじめ、EXCELの行の高さを166ピクセル、A列の幅を190ピクセルに揃えておきます。
ソースコード6行目のフォルダー(C:\Users\hogehoge\Desktop\ストックフォト画像\Resized)に幅または高さを150ピクセルに縮小した画像を配置しておきます。
マクロを実行するとソースコード6行目のフォルダーに配置した画像とファイル名がEXCELに追加されていきます。
重複チェックはしていないので複数回実行すると同じ画像が追加されてしまいます。一度追加した画像は削除するか別フォルダーに移動させる必要があります。
改良の余地はまだまだありますが、とりあえずは各社の写真のステータスが分かるようになりました。