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
åæãçäžé
"test_file.txt"ã¯ãã¡ã€ã«åãªã®ã§ãããããšããã©ã«ãåãªãã§ããããã
abc20040423.csvã§ããŸãããã®ã¯ïŒabc20040423.csvããã¡ã€ã«åtest_file.txtã§
ã³ããŒããŠããããã ãšæããŸããã¯ã€ã«ãã«ãŒãã䜿çšããå Žåã¯ïŒ
test_file.txtããã©ã«ãåãšè§£éïŒã§ãªããšè€æ°ãã¡ã€ã«ãåäžåã§äžæžãããã
ãšã«ãªã£ãŠæå³ããªãããã§ã¯ãªãããšïŒïŒããããã§ïŒããã¹ãèŠã€ãããŸããã
ãšåºãã®ã ãšæããŸãã
ç®çã®äºããããã®ã§ããã°ïŒãã£ãããã©ã«ãã«ã³ããŒããŠïŒåå倿Žã§æ¡åŒµåã
".txt"ã«å€æŽããæ¹æ³ã¯ã©ãã§ããããã
--
******************************
keizi kounoike
******************************
> ç®çã®äºããããã®ã§ããã°ïŒãã£ãããã©ã«ãã«ã³ããŒããŠïŒåå倿Žã§æ¡åŒµå
ã
> ".txt"ã«å€æŽããæ¹æ³ã¯ã©ãã§ããããã
ãšã®äºã§ãããèŠããã«ç§ãšããŠã¯æ¥ã
å€åããabcå¹Žææ¥æåç§.csvãšãããã¡ã€
ã«ããã¯ãå®è¡ã®åºŠã«åºå®ãããã¡ã€ã«åïŒä»åã®å Žåtest_file.txtïŒã«äžæžãæŽ
æ°ãããã®ã§ããæ¡åŒµåã¯ïœïœïœã§ãè¯ãã®ã§ããã
å¿è«ãäžæžãæŽæ°åŸã¯abcå¹Žææ¥æåç§.csvã¯åé€ããã€ããã§ãã
ã ãããã©ããã§ã¯ã€ã«ãã«ãŒãã䜿ãå¿
èŠããããšæãããŸãã
ããå°ãããŸãæ¹æ³ã詊è¡ããŠã¿ãŸãã
äžå¯§ãªãææããããšãããããŸããã
Accessã§ã®DoCmdã¿ãããªã®ã䜿ãããšDosã®ãããã§ãåããã®ã§ããâŠ
åæãçäžé
ããããïŒäŸãã°
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"ã«å€
æŽããŠä¿åããããã«ããŠããŸãã
> 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æãããããšã¯ç¥ã£ãŠããŸããããã®ãããªäœ¿ãæ¹ããããšã¯æ°ãä»ã
ãŸããã§ããã
ãããã¡ã€ã«äžèЧãååŸããã ãã®ãã®ãšæã£ãŠããŸããã
ãã£ãšå匷ãå¿
èŠã§ããã
ä»åã®äŸã¯ä»ããäœãããšããŠãããã¯ãã®ã»ãã®å
¥ãå£ã«ããéããŸããããŸããŸ
ã粟é²ããŸãã
ã§ããã©ãããŠïŒ€ïŒ¯ïŒ³ã³ãã³ãïŒæ£ç¢ºã«ã¯ïŒ€ïŒ¯ïŒ€ã®ãããèµ·åïŒã䜿ããããã«æºå
ãããªãã®ã§ãããã
ããæ¹æ¬¡ç¬¬ã§ã¯ã§ããã®ããç¥ããŸãããã
éãéãããããšãããããŸããã
åæãçäžé
Sub test1()
Shell ("c:\test.bat")
End Sub
http://www.gyako.mls.ad.jp/excel6.htm
Gyako
> Sub test1()
> Shell ("c:\test.bat")
> End Sub
> http://www.gyako.mls.ad.jp/excel6.htm
>
> Gyako
>
ç§ã®èªãã æ¬ã§ã¯ãshell颿°ã¯ãæ¡åŒµåãïœ
ïœïœ
ã®ãã¡ã€ã«ã¢ããªã±ãŒã·ã§ã³ãèµ·
åããŸããâŠã
ãšæžããŠãã£ãã®ã§ããŠã£ããã®ãããã¯å®è¡ã§ããªããšæ±ºãä»ããŠããŸã
ãã
ãã£ãŠã¿ãããã§ããã
Gyakoããã©ããããããšãããããŸããã
åæãçäžé