戻る


☆コピー
Dim MySHLAPP
Dim MyDir

Set MySHLAPP = CreateObject("Shell.Application")
Set MyDir = MySHLAPP.Namespace("コピー先の場所")
MyDir.CopyHere "コピーしたいファイルかフォルダのフルパス"
Set MySHLAPP = Nothing
Set MyDir = Nothing
.Namespace("コピー先")は何が何でも場所です。ディレクトリです。フォルダのフルパスです。ファイルのパスなんか入れてはダメです。
コピー先の場所に同名のファイルやフォルダがあった場合どうなるのかは知りません。
あらかじめCreateObject("Scripting.FileSystemObject")で有無を確認したうえ、都合にあわせて処理を書いてください。
「もし有ったらそれを削除したのちコピー」とか「もし有ったら何もしないで終了」とか「もし無かったらコピー」とか〜



☆Windows終了
Dim MySHLAPP

Set MySHLAPP = CreateObject("Shell.Application")
MySHLAPP.ShutdownWindows
Set MySHLAPP = Nothing
本当に終了させちゃうわけじゃなく、終了のダイアログを出すだけ。

Windows2000なら↓で問答無用の一発終了だけど、これはXPでは動いてくれなかった。
Dim MyWINSS
Set MyWINSS = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}").InstancesOf("Win32_OperatingSystem")
For Each objS In MyWINSS
    objS.Win32Shutdown 8
Next