Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

スキャンした画像を日付別のフォルダに保存してくれるソフト

スキャンした画像を、取り込んだ日付のフォルダに自動的に保存してくれるソフト(できればフリーソフト希望です)をどなたかご存知ないでしょうか? 大抵の画像管理ソフトは、規定のフォルダの中に全ての画像ファイルが保存されていますが、そうではなくて、 例えば6月10にスキャンした2枚の画像と6月21にスキャンした3枚の画像を、以下のようなパスで保管したいと考えています。 画像1)My Document\My Picture\Scan\20050610\Scanfile001.jpg 画像2)My Document\My Picture\Scan\20050610\Scanfile002.jpg 画像3)My Document\My Picture\Scan\20050621\Scanfile001.jpg 画像4)My Document\My Picture\Scan\20050621\Scanfile002.jpg 画像5)My Document\My Picture\Scan\20050621\Scanfile003.jpg (日付フォルダまでのパスはあくまでサンプルであり、実際にはどのようなパスでも構いません) スキャン→保存した画像ファイルを、日付フォルダ毎に一括でデータベースに取り込みたいので、「ファイル名+日付.jpg」といった管理では不十分なのです。 また、画像ファイルはスキャンのみで、ファイルの取込は考えていません。 Vector等で色々探してみたのですが、数が多すぎてこれといったものを見つけることができません。 どなたか良いソフトをご存知の方がいらっしゃれば、教えて頂けませんでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

> Excelファイルをダブルクリックするだけで実行されるようにする エクセルを開かないでマクロを実行する方法は、私にはわかりません /(-_-; ので、 代替案です。 ファイルのダブルクリックでExcelファイルが開いた後に、マクロが自動実行され、 自動的にブックを閉じます。(他のExcelが開かれていない場合はExcelを終了) ' Sub Auto_Open()   Dim FPath1, FPath2, FName, i, FDate, FExt   Dim FLD As Folder, FSObj As New FileSystemObject   Application.ScreenUpdating = False   FPath1 = Range("A1").Value & "\"   FName = Dir$(FPath1 & "*.*")   Do While FName <> ""     FDate = FileDateTime(FPath1 & FName)     FPath2 = WorksheetFunction.Substitute(Mid(FDate, 1, InStr(FDate, " ") - 1), "/", "")     On Error Resume Next     MkDir$ FPath1 & FPath2     Set FLD = FSObj.GetFolder(FPath1 & FPath2)     i = FLD.Files.Count + 1     FExt = Mid(FName, InStrRev(FName, "."), 5)     FileCopy FPath1 & FName, FPath1 & FPath2 & "\" & "Scanfile" & _        WorksheetFunction.Text(i, "000") & FExt     Kill FPath1 & FName     FName = Dir$   Loop   Application.ScreenUpdating = True   If Windows.Count = 1 Then Application.Quit   ActiveWorkbook.Close End Sub <自動実行/自動終了 以外の変更点> ・ファイルの拡張子が Jpg 以外でも処理するようにしました。 ・変更後のファイル名の連番が 001、002 の形式になるようにしました。 ※当ブックを開くたびにマクロが起動してしまいますので、マクロの内容を変更する  場合は、いったん他のブックを開いてセキュリティレベルを"高"にしてから、当ブ  ックを開いてくださいね。

bucchukun
質問者

お礼

素晴らしい!! これでやりたいことができるようになりました! ご丁寧な回答に感謝します。ありがとうございました^^

すると、全ての回答が全文表示されます。

その他の回答 (3)

noname#182251
noname#182251
回答No.3

#1です。若干補足すれば、データベースで 1.指定されたフォルダに新規追加されたファイル名を取得 2.日付別に表示 3.対象ファイル名にチェック(何らかのフラッグ) 4.チェックされたファイルをデータベースに取り込み は、簡単にできます。ちなみに4.の処理はお奨めできませんが。

bucchukun
質問者

お礼

お返事ありがとうございます。 残念ながら、私の使っているDBソフトではそのような高度な処理ができません・・・。 色々とアドバイスありがとうございます。

すると、全ての回答が全文表示されます。
回答No.2

こんにちは~。 Excelで処理するものですが、遊びで作ってみました。 スキャナから直接振り分けることはできませんが、スキャンして1つのフォルダの 中に格納してあるすべてのファイルを日付で振り分け、Scanfile001.jpg の形式の 名前に変更します。 なお、日付名のフォルダは、元フォルダの中のサブフォルダとして作成されます。 1.[Alt]+[F11] で Visual Basic Editor を起動します。 2.[ツール]-[参照設定] で Microsoft Scripting Runtime にチェックを入れます。 3.[挿入]-[標準モジュール] で開かれる画面に下記をコピペします。 4.Visual Basic Editor を閉じます。 ' Sub Furiwake()   Dim FPath1, FPath2, FName, i, FDate   Dim FLD As Folder, FSObj As New FileSystemObject   Application.ScreenUpdating = False   FPath1 = Range("A1").Value & "\"   FName = Dir$(FPath1 & "*.*")   Do While FName <> ""     FDate = FileDateTime(FPath1 & FName)     FPath2 = WorksheetFunction.Substitute(Mid(FDate, 1, InStr(FDate, " ") - 1), "/", "")     On Error Resume Next     MkDir$ FPath1 & FPath2     Set FLD = FSObj.GetFolder(FPath1 & FPath2)     i = FLD.Files.Count + 1     FileCopy FPath1 & FName, FPath1 & FPath2 & "\" & "Scanfile" & i & ".jpg"     Kill FPath1 & FName     FName = Dir$   Loop   Application.ScreenUpdating = True End Sub セルA1に、スキャンしたファイルの入っているディレクトリ名をフルパスで入力して から、マクロを実行します。(入力例: C:\MyFiles\GraphicData\Scan )

bucchukun
質問者

お礼

お返事遅くなりましてすいません。 素敵なスクリプトありがとうございます^^ 思っていた結果が出るので、活用させていただきたいと思います。 ところで、スクリプトのあるExcelファイルをダブルクリックするだけで、このスクリプトが実行されるようにすることは可能なんでしょうか?ご存知であれば教えていただければ幸いです。

すると、全ての回答が全文表示されます。
noname#182251
noname#182251
回答No.1

>データベースに取り込みたい データベースに取り込んで管理すれば、日付フォルダに分類されている必要がないと考えますが? 数千枚の画像(主として写真)をデータベースで管理しています。番号が巡回重複するため、月毎ではフォルダを変更していますが、それで充分で、なんの不都合もありません。勿論日付のみならず、時刻(必要があれば分単位)で検索できるようになっています。

bucchukun
質問者

補足

お返事ありがとうございます。 教えていただいた内容は、画像をデータベースに取り込んだ後の話だと思うのですが、私が目的としているのは「どのスキャンされたファイル(画像)をデータベースに取り込めばよいのかがハッキリわかるようにする」事なのです。 画像の取り込みは1日10枚程度毎日行われるので、例えば月毎のフォルダ分けでは、今日はどのファイルを取り込んでよいのか分かりにくいのではないかと考えている次第です。

すると、全ての回答が全文表示されます。

関連するQ&A