
いつもお世話になっております。
指定した時間になったらファイルコピー
を実現するにはどうしたらよいのですか。
下記のコードは作成しましたが、だめです。
しかもExcelの標準モジュールに記載
AフォルダにあるTestBook.xlsxを
Bフォルダにコピーする
Sub kk()
Dim Fso As Object
Dim A As stirng
Dim B As stirng
Set Fso = CreateObject("FileSystemObject")
Dim jikan As Date
Dim str As String
A = "Desktop\A\TestBook.xlsx"
B = "Desktop\B"
'変数にシステム時刻を代入
jikan = Time
'9:00~12:00
If jikan >= "19:45" Then
If Fso.FileExist(A) = True Then
Fso.CopyFile A, B
End If
End If
End Sub
eいろいろ検索などしましたらバッチファイル
というものがたくさんでてきました。
やり方おしえてくれませんでしょうか
バッチファイル・VBA・その他
おしえてくれませんでしょうか
No.2ベストアンサー
- 回答日時:
こんばんは、
一回VBAから離れましょう。
windowsのタスクスケジューラに.batファイルを登録する方法が簡単です。
windowsのタスクスケジューラについては、こちらがわかり易いかな?
https://pc-automation.tech/wp/run-task-at-the-ti …
バッチファイルについては、
https://www.petitmonte.com/windows/auto_backup_b …
>A = "Desktop\A\TestBook.xlsx"
>B = "Desktop\B\"
>Fso.CopyFile A, B
これは、
setlocal
copy /Y C:\Users\XXX\Desktop\A\testBook.xlsx C:\Users\XXX\Desktop\B\testBook.xlsx
endlocal
\XXXは、ユーザー名
メモ帳で作成し拡張子 .batで適当な場所に保存すればOK、このファイルをスケジューラに登録します。
登録前にテストする場合は、ダブルクリックで確認できます。
ちなみにVBAでも実行した状態を続ければ出来そうですが、、、他の事がExcelで出来なくなりますよね。
No.4
- 回答日時:
VBA出する意味がわからんが。
適当なbat作っておいてタスクスケジューラーで起動すればよいだけでは。
No.3
- 回答日時:
#2
Application.OnTime
、ありましたね。。
>ちなみにVBAでも実行した状態を続ければ出来そうですが、、、他の事がExcelで出来なくなりますよね。
正しくない内容ですので、撤回して、お詫びします。

No.1
- 回答日時:
OnTime を使います。
Option Explicit
Sub Test()
Application.OnTime #11:18:00 PM#, "kk"
End Sub
Sub kk()
Dim Desktop As String
With CreateObject("WScript.Shell")
Desktop = .SpecialFolders("Desktop")
End With
With CreateObject("Scripting.FileSystemObject")
.CopyFile Desktop & "\A\TestBook.xlsx", Desktop & "\B\"
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
ファイルサーバ上のファイルが...
-
同じファイル名 上書きしないフ...
-
エクセルのハイパーリンクがコ...
-
RealSyncでデータを自動バック...
-
frxファイルの役目
-
FTPとファイルコピーの違いにつ...
-
バッチファイル XCOPYで上書き...
-
[エクセル]コピーするとオブジ...
-
バッチファイルのコピーで
-
現在のブックを閉じないで、マ...
-
コピーできないプロパティ
-
特定のエクセルファイルが止ま...
-
VisualC++ テキストファイルな...
-
vb2008 フォームのコピー方法を...
-
vba メッセージを表示させたくない
-
C言語
-
ファイルをコピーできない
-
VBスクリプトで外字の使用を無...
-
エクセルファイルに「コピー」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
同じファイル名 上書きしないフ...
-
ファイルサーバ上のファイルが...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
[エクセル]コピーするとオブジ...
-
Vba初心者です。下記のコード助...
-
エクセルのハイパーリンクがコ...
-
バッチファイル 別ファイルにリ...
-
エクセル2010、図が大きすぎま...
-
現在のブックを閉じないで、マ...
-
vbsでExcelのシートをコピーす...
-
xcopyでのバッチコピー方法でコ...
-
バッチファイルのコピーで
-
FTPとファイルコピーの違いにつ...
-
アクセス クエリを別のファイ...
-
パワポでスライドをコピーでき...
-
vbsでファイルやフォルダのコピ...
-
開いている別のファイルにExcel...
-
bat 同名ファイルコピー時にリ...
おすすめ情報
Dim A As stirng
Dim B As stirng
スペルまちがえです。
失礼いたしました。
Sub kk()
Dim Fso As Object
Dim A As String
Dim B As String
Set Fso = CreateObject("Scripting.FileSystemObject") ' まちがえてました。
Dim jikan As Date
Dim str As String
A = "Desktop\A\TestBook.xlsx"
B = "Desktop\B\"
'変数にシステム時刻を代入
jikan = Time
'9:00~12:00
If jikan >= "20:32" Then
Fso.CopyFile A, B
End If
End Sub
このままじっこうするとファイルはコピーされますが、
時間になっても全くです。
これはもしかしてVBSですか
検索したらVBSで
やる方法見つけましたが
そなコードはたんにダブルクリックで
実行するだけ