OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ファイル名変更してコピー

  • すぐに回答を!
  • 質問No.173031
  • 閲覧数109
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 73% (71/96)

エクセル2000で次のような処理が出来ますでしょうか。
まず前提として、シート1のA列にフォルダAの中の001.jpg~100.jpgと言う画像
がリンク付けてあります。(A1は001.jpgに~A100は100.jpgに)。
そこで、シート1のB列にB1からB***まで数字をガンガン打ち込んでいきます。
打ち込み終わりで、実行すると例えばB1が30だとすると030.jpgを
1-030-001.jpg( (1から連番)-(画像番号)-(検索された回数).jpg )
と言うふうにしてフォルダBにコピーしたいのですが・・。
こんな事出来ますでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

こんな感じでしょうか。質問の通りにファイルをコピーするはずです。(Excel2000)

コピー先ファイル名の『1から連番』は1~数桁になり、ソートなどには不向きかもしれません。
 DesFile = DesFolder & "\" & (rwCot + 1) &・・・・を(質問のまま)
 DesFile = DesFolder & "\" & RIGHT("0000" & (rwCot + 1), 4) &・・・にすれば連番が4桁固定になります。

フォルダA、Bは指定してください。

シートのコードウインドウに貼り付けます。

Dim schNum() As Integer '検索された回数

Sub HyperFileCopy()
  Const SrcFolder = "A:\FolderA" 'コピー元のフォルダ *** 指定する ***
  Const DesFolder = "A:\FolderB" 'コピー先のフォルダ *** 指定する ***

  Const jpgNum = 100 'jpgファイルの個数
  ReDim schNum(jpgNum) As Integer '検索された回数
  Dim rwCot As Integer 'カウンタ(連番)

  Dim inpNo As Integer '入力した数値
  Dim SrcFile As String 'コピー元のファイル名
  Dim DesFile As String 'コピー先のファイル名

  While Range("B1").Offset(rwCot, 0) <> "" 'B列を空白セルになるまで読み込む
    inpNo = Range("B1").Offset(rwCot, 0).Value

    'コピー元のファイル名
    SrcFile = SrcFolder & "\" & Range("A" & inpNo).Value
    'コピー先のファイル名
    schNum(inpNo) = schNum(inpNo) + 1 '検索された回数を増やす
    DesFile = DesFolder & "\" & (rwCot + 1) & "-" & _
         Right("000" & inpNo, 3) & "-" & _
         Right("000" & schNum(inpNo), 3) & ".jpg"

    'ファイルをコピー
    FileCopy SrcFile, DesFile

    rwCot = rwCot + 1 '次の行
  Wend
End Sub
補足コメント
kenta1005

お礼率 73% (71/96)

nishi6さん、本当にありがとうございます。感謝というか感動です。
おかげさまで出来ました。
一つ質問漏れがありまして、変更したファイル名が ****-***-001.jpg
となった場合(つまり一回目に検索されたファイル)はコピーせず、
そのまま次の処理を続けることは出来ますか?
ファイルをコピーする前に何か一文たせばいいんでしょうか・・?
投稿日時 - 2001-11-23 13:36:17
お礼コメント
kenta1005

お礼率 73% (71/96)

重ね重ね本当にありがとうございました。
お礼の言葉もございません。
おかげさまでうまく行きました。自分でやってたら
何年かかるか・・と思うと恐いくらいです。
投稿日時 - 2001-11-23 19:38:09
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

>・・・(つまり一回目に検索されたファイル)はコピーせず・・・ については、   If schNum(inpNo) <> 1 Then     '1回目でなければファイルをコピー     FileCopy SrcFile, DesFile   End If とすれば大丈夫でしょう。 ...続きを読む
>・・・(つまり一回目に検索されたファイル)はコピーせず・・・
については、

  If schNum(inpNo) <> 1 Then
    '1回目でなければファイルをコピー
    FileCopy SrcFile, DesFile
  End If

とすれば大丈夫でしょう。
お礼コメント
kenta1005

お礼率 73% (71/96)

下のほうに書いてしまいましたが、
本当にありがとうございました。
投稿日時 - 2001-11-23 19:40:10

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ