Google グルヌプは Usenet の新芏の投皿ず賌読のサポヌトを終了したした。過去のコンテンツは匕き続き閲芧できたす。
衚瀺しない

ファむル名にワむルドカヌドが䜿えない

閲芧: 120 回
最初の未読メッセヌゞにスキップ

前村眞䞀郎

未読、
2004/04/22 19:32:442004/04/22
To:
挙動が理解できたせんのでどちら様かお教えください。

d:\tempフォルダにファむルabc20040423.csvが䞀぀ありたす。
これをFileSystemObjectを䜿っお別のフォルダにコピヌしようずしお参照蚭定の
MicrosoftScriptingRuntimeをセットした䞊で以䞋のマクロを蚘述したした。

Sub File_Copy()
Dim myFSO As New FileSystemObject
myFSO.CopyFile "d:\temp\abc*.csv", "d:\vba_test\test_file.txt"
End Sub

しかし、実行するず「パスが芋぀かりたせん」ず怒られたす。
のヘルプでFileSystemObjectのCopyFileの説明を芋るずワむルドカヌドが䜿え
るように曞いおありたす。
詊しにabc20040423.csvのようにファむル名をフルで蚘述するず思惑通り実行された
す。
他に参照蚭定が必芁なのでしょうか。

私の環境
Windows 2000 Pro SR4 Excel 2000 SP3

前村 眞䞀郎

koun...@mbh.nifty.com

未読、
2004/04/23 0:05:582004/04/23
To:
"前村眞䞀郎" <shin1...@yahoo.co.jp> wrote in message
news:c69mm5$6od$1...@localhost.localdomain...

>
> Sub File_Copy()
> Dim myFSO As New FileSystemObject
> myFSO.CopyFile "d:\temp\abc*.csv", "d:\vba_test\test_file.txt"
> End Sub
>
> しかし、実行するず「パスが芋぀かりたせん」ず怒られたす。
>
> 詊しにabc20040423.csvのようにファむル名をフルで蚘述するず思惑通り実行され
た
> す。

"test_file.txt"はファむル名なのですかそれずもフォルダ名なんでしょうか。
abc20040423.csvでうたくいくのはabc20040423.csvをファむル名test_file.txtで
コピヌしおいるからだず思いたす。ワむルドカヌドを䜿甚した堎合は
test_file.txtをフォルダ名ず解釈でないず耇数ファむルを同䞀名で䞊曞きするこ
ずになっお意味がないためではないかずするためで「パスが芋぀かりたせん」
ず出るのだず思いたす。

目的の事がしたいのであればいったんフォルダにコピヌしお名前倉曎で拡匵子を
".txt"に倉曎する方法はどうでしょうか。

--
******************************
keizi kounoike
******************************

前村眞䞀郎

未読、
2004/04/23 4:36:112004/04/23
To:
ご回答ありがずうございたす。

> 目的の事がしたいのであればいったんフォルダにコピヌしお名前倉曎で拡匵子
を
> ".txt"に倉曎する方法はどうでしょうか。

ずの事ですが、芁するに私ずしおは日々倉化するabc幎月日時分秒.csvずいうファむ
ルをマクロ実行の床に固定したファむル名今回の堎合test_file.txtに䞊曞き曎
新したいのです。拡匵子はでも良いのですが。
勿論、䞊曞き曎新埌はabc幎月日時分秒.csvは削陀する぀もりです。
だから、どこかでワむルドカヌドを䜿う必芁があるず思われたす。
もう少しうたい方法を詊行しおみたす。

䞁寧なご指摘ありがずうございたした。
AccessでのDoCmdみたいなのが䜿えるずDosのバッチでも動かすのですが 

前村 眞䞀郎

koun...@mbh.nifty.com

未読、
2004/04/23 7:40:482004/04/23
To:
"前村眞䞀郎" <shin1...@yahoo.co.jp> wrote in message
news:c6amh0$qif$1...@localhost.localdomain...
> ずの事ですが、芁するに私ずしおは日々倉化するabc幎月日時分秒.csvずいうファ
ã‚€
> ルをマクロ実行の床に固定したファむル名今回の堎合test_file.txtに䞊曞き

曎
> 新したいのです。拡匵子はでも良いのですが。
> 勿論、䞊曞き曎新埌はabc幎月日時分秒.csvは削陀する぀もりです。
> だから、どこかでワむルドカヌドを䜿う必芁があるず思われたす。

それじゃ䟋えば

Sub File_Copy()
Dim myFSO As New FileSystemObject

Dim fd As Folder
Dim fs As Files
Dim fl As File

myFSO.CopyFile "d:\temp\abc*.csv", "d:\vba_test"

Set fd = myFSO.GetFolder("d:\vba_test")
Set fs = fd.Files
For Each fl In fs
fl.Copy "d:\vba_test\filetest.txt"
fl.Name = WorksheetFunction.Substitute(fl.Name, ".csv", ".bak")
Next

End Sub

ではどうでしょうか。ただし最新ファむルがfiletest.txtずしおコピヌされる保蚌
はありたせんが。耇数のファむルがあった堎合最埌にコピヌしたものになる。
フォルダd:\tempにファむルが垞に぀なら保蚌されたすが。
䞊の堎合䞊曞き曎新埌はabc幎月日時分秒.csvは削陀はせず拡匵子を"bak"に倉
曎しお保存するようにしおいたす。

前村

未読、
2004/04/23 9:59:432004/04/23
To:
䜕床もお手数をおかけしたす。

> Sub File_Copy()
> Dim myFSO As New FileSystemObject
> Dim fd As Folder
> Dim fs As Files
> Dim fl As File
>
> myFSO.CopyFile "d:\temp\abc*.csv", "d:\vba_test"
> Set fd = myFSO.GetFolder("d:\vba_test")
> Set fs = fd.Files
> For Each fl In fs
> fl.Copy "d:\vba_test\filetest.txt"
> fl.Name = WorksheetFunction.Substitute(fl.Name, ".csv", ".bak")
> Next
>
> End Sub
>
> ではどうでしょうか。ただし最新ファむルがfiletest.txtずしおコピヌされる保
蚌
> はありたせんが。耇数のファむルがあった堎合最埌にコピヌしたものになる。
> フォルダd:\tempにファむルが垞に぀なら保蚌されたすが。
> 䞊の堎合䞊曞き曎新埌はabc幎月日時分秒.csvは削陀はせず拡匵子を"bak"に
倉
> 曎しお保存するようにしおいたす。

教えおいただいた方法で実珟できたした。
For Each文があるこずは知っおいたしたがこのような䜿い方があるずは気が付き
たせんでした。
  ファむル䞀芧を取埗するだけのものず思っおいたした。
もっず勉匷が必芁ですネ。
今回の䟋は今から䜜ろうずしおいるマクロのほんの入り口にしか過ぎたせんがたすた
す粟進したす。

でも、どうしおコマンド正確にはのバッチ起動が䜿えるように準備
されないのでしょう。
やり方次第ではできるのかも知れたせんが。
重ね重ねありがずうございたした。

前村 眞䞀郎

Gyako

未読、
2004/04/23 17:01:172004/04/23
To:
> でも、どうしおコマンド正確にはのバッチ起動が䜿えるように準
備
> されないのでしょう。

Sub test1()
Shell ("c:\test.bat")
End Sub
http://www.gyako.mls.ad.jp/excel6.htm

Gyako

前村眞䞀郎

未読、
2004/04/23 23:04:442004/04/23
To:
なるほどですネ。

> Sub test1()
> Shell ("c:\test.bat")
> End Sub
> http://www.gyako.mls.ad.jp/excel6.htm
>
> Gyako
>

私の読んだ本では「shell関数は、拡匵子がのファむルアプリケヌションを起
動したす。 」
ず曞いおあったので、おっきりのバッチは実行できないず決め付けおいたし
た。

やっおみるもんですネ。

Gyakoさんどうもありがずうございたした。

前村 眞䞀郎

新着メヌル 0 ä»¶