advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 8932 for リスト (0.007 sec.)
[[20110222070338]]
#score: 2746
@digest: f10db66a87bf00113cc328be788492bd
@id: 53438
@mdate: 2011-02-24T06:37:42Z
@size: 4461
@type: text/plain
#keywords: foldera (46907), dfilename (45725), folderb (25390), 頭6 (20624), a00003 (16477), a00002 (15535), checkandmovefiles (15497), 理df (15497), ダ移 (13303), 、a0 (9791), 査表 (7371), 表・ (4493), fileexists (4404), 回変 (4292), filename (3815), 動処 (3791), ファ (2833), ル名 (2800), ル位 (2651), 検査 (2597), ・リ (2544), lastrow (2295), リス (2209), ァイ (2193), ト: (1983), イル (1977), 用可 (1940), ダは (1864), ト形 (1863), ォル (1837), ルダ (1716), fso (1599)
『ファイル名が一致したらフォルダ移動』(みち)
Aというフォルダに数百のエクセルファイルがあります。 その中から、ファイル名が入ったエクセルリストと一致するものだけを Bのフォルダに移したいのです。コピーでもかまいません。 毎回これを手作業でやっているので、何か方法はないでしょうか? WindowsVista Excel2003 ---- ファイル名は拡張子まで含めて正しく入力されているでしょうか。 ファイル名のリスト形式(セル位置)を提示してもらえると、解答しやすいと思い ます。 バッチでもできますし、マクロでもできますが、リストファイルというのは毎回 変わるのでしょうか。 また、Aというフォルダと、リストのあるファイルのフォルダは別ですか? (Mook) ---- ファイル名は拡張子までは入っていません。 またリストファイルは毎回変わります。 リストは1ファイルで、sheet1の中にフォルダを移動したい対象のリストが入っています。 ファイル名のリスト形式(セル位置)を提示、とはどういうことでしょうか?すみません、理解できません。 ---- A フォルダは固定でしょうか。 リストファイルは毎回変わるということですね。 セル位置 というのは、「リストがSheet1 の A列にある」という情報のことです。 マクロは利用可能ですか? (Mook) ---- A フォルダは固定です。 リストファイルは毎回変わります。 セル位置 は、リストがSheet1 の A列にあります。 マクロは利用可能です。 ---- マクロの例です。 移動元と移動先のフォルダは実際に併せてください。 Sub CheckAndMoveFiles() Const FolderA = "C:¥Data¥A" Const FolderB = "C:¥Data¥B" Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim ws As Worksheet Set ws = ActiveSheet Dim lastRow As Long lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row Dim r As Long Dim fileName As String For r = 1 To lastRow If ws.Cells(r, "A").Value <> "" Then fileName = ws.Cells(r, "A").Value & ".xls" If fso.FileExists(FolderA & "¥" & fileName) = True Then fso.moveFile FolderA & "¥" & fileName, FolderB & "¥" & fileName End If End If Next End Sub (Mook) ---- ありがとうございます。 無事できました。 ---- 上記では、ファイル名とリストファイルの内容が完全一致したものでしたが、ファイル名の頭6文字とリストファイルをマッチングさせることは可能でしょうか。 ファイル名:A00001-検査、A00002-表、A00003-検査表・・・ リスト:A00002、A00003・・・ ファイル名の頭6文字はちゃんと入っているのですが、途中からまちまちな入力のされ方をしているので、一致したと見なされずフォルダ移動しないのです。 ---- 名前を入れ忘れました。みちです。 上記では、ファイル名とリストファイルの内容が完全一致したものでしたが、ファイル名の頭6文字とリストファイルをマッチングさせることは可能でしょうか。 ファイル名:A00001-検査、A00002-表、A00003-検査表・・・リスト:A00002、A00003・・・ ファイル名の頭6文字はちゃんと入っているのですが、途中からまちまちな入力のされ方をしているので、一致したと見なされずフォルダ移動しないのです。 ---- 現在はA列を上から順番に、 If fso.FileExists(FolderA & "¥" & fileName) = True Then でファイルがあるかの確認をしていますが、fso はワイルドカードは使えません。 Dir 関数はワイルドカードが使えるので、上記の部分を dFileName = Dir( FolderA & "¥" & left(filename,6) & "*.xls") Do While dFileName <> "" 移動処理 dFileName = Dir() Loop のように書きかえれば対応可能でしょう。 下記、ご参考まで。 http://officetanaka.net/excel/vba/tips/tips95.htm (Mook) ---- あけみさん、回答者のみなさん、おはようございます。 回答者への参考として一応リンクしておきます。 http://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=143406&rev=0 (マチルダ) ---- みちです。 それって、 Sub CheckAndMoveFiles() Const FolderA = "C:¥Data¥A" Const FolderB = "C:¥Data¥B" Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim ws As Worksheet Set ws = ActiveSheet Dim lastRow As Long lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row Dim r As Long Dim fileName As String For r = 1 To lastRow If ws.Cells(r, "A").Value <> "" Then fileName = ws.Cells(r, "A").Value & ".xls" dFileName = Dir(FolderA & "¥" & Left(fileName, 6) & "*.xls") Do While dFileName <> "" 移動処理 dFileName = Dir() Loop fso.moveFile FolderA & "¥" & fileName, FolderB & "¥" & fileName End If End If Next End Sub でいいってことでしょうか? ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201102/20110222070338.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97056 documents and 608292 words.

訪問者:カウンタValid HTML 4.01 Transitional