- ベストアンサー
エクセル2010のVBAを使ってバックアップ
エクセル2010のVBAを使ってバックアップを取れる仕組を作っています。 Sub backup() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile "C:\data\*.xls", "C:\back\" Set FSO = Nothing End Sub 実際にバックアップを取りたい元データはマイドキュメントにあります。 また、複数のパソコンで実行したいのですが、 C:\Documents and Settings\ログインユーザー名\MyDocuments\ このログインユーザー名がバラバラです。 データ元のパスはどのように取得すれば良いでしょうか? 教えて下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでやれば自分のマイドキュメントのPathが取得できます。 Dim sPath As String, WSH As Variant Set WSH = CreateObject("WScript.Shell") sPath = WSH.SpecialFolders("MyDocuments") & "\" Set WSH = Nothing ところで……。例として挙げただけだとは思いますが、↓これ、意味ないですよ。 > FSO.CopyFile "C:\data\*.xls", "C:\back\"
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
回答No.2
ごめんなさい、最後の1文ですが、こちらの勘違いです。 同じフォルダコピーしているように見えたのですが、ちゃんと「data」フォルダから「back」フォルダへコピーしていましたね。 失礼しました。
お礼
お礼が遅れてすみません。 昨日回答を見て検証していました。 ありがとうございます。 うまく動きました。 Sub backup() Dim FSO As Object Dim sPath As String, WSH As Variant Set WSH = CreateObject("WScript.Shell") sPath = WSH.SpecialFolders("MyDocuments") & "\*.xls" 'MsgBox sPath Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile sPath, "C:\back\" Set FSO = Nothing Set WSH = Nothing End Sub