こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイルをまちうけして別フォルダにコピーする

Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" _
(ByVal lpszPath As String) As Long

Private Sub Command1_Click()
Dim P as string,P1 as string
Dim Hiduke as string
Hiduke=year(date) & month(date) & day(date) _
& hour(time) &second(time)
P = "c:\FOLD1\DATA.TXT"
P1="C:\FOLD1\Back\Hiduke & "data.txt"
Do

If PathFileExists(P) Then
filecopy P,P1
   kill P
End if


Loop

End Sub

以上のように実行するとすぐビジー状態になる。
data.txtは短くて30秒、長くて30分単位に作成される
どうしたらビジー状態にならないようになるのですか

投稿日時 - 2005-05-05 15:00:31

QNo.1369260

すぐに回答ほしいです

質問者が選んだベストアンサー

>  Hiduke=year(date) & month(date) & day(date) _
  & hour(time) &second(time)

Hiduke=Format(Now(),"yymmddhhmmss")
が簡単かと思います。

>  P1="C:\FOLD1\Back\Hiduke & "data.txt"

ファイル名が、Hidukedata.txt になりますよね。
P1="C:\FOLD1\Back\" & Hiduke & "data.txt"
等にすべきかとおもいますが・・・。

>タイマー監視とはどういう使い方になるのですか?

一定間隔でタイマーイベントを発生させて、そのイベントを受け取って任意の動作(今回はファイルチェック&コピー)を実行するようにすると、パソコンの負荷も軽くなると思います。

タイマーの使い方や注意などは下記サイトを参考にしてください。
数秒単位でファイルチェックできるようにすれば大丈夫ではないでしょうか。

参考URL:http://www.mb.ccnw.ne.jp/garger-studio/vbgame/131.html,http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t15.htm

投稿日時 - 2005-05-05 17:18:08

お礼

無事、解決しました。ありがとうございました。
いまVBに取り組んでいます。また、質問すると思いますが、よろしくお願い致します。

投稿日時 - 2005-05-05 23:23:56

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

>以上のように実行するとすぐビジー状態になる。

Do

Loop
って、どうやって脱出(終了)するのでしょうか?
これが繰り返されている限り、ビジーになってしまうと思いますが?


>短くて30秒、長くて30分単位に作成される

タイマー監視の方が良いのでは?

VBA使いですが、他にも何点か不備があるように思います。
ループ外でフォルダ名を決定していますので、正常に動いても、全て同じフォルダに上書きされてしまうように思いますが・・・。

投稿日時 - 2005-05-05 15:36:27

お礼

ありがとうございます。
ここの部分
  Hiduke=year(date) & month(date) & day(date) _
  & hour(time) &second(time)
  P = "c:\FOLD1\DATA.TXT"
  P1="C:\FOLD1\Back\Hiduke & "data.txt"
Do~Loopのなかに書かなければなりませんよね
パソコンをつけた時から切断するまで実行したいので
このようになりました。
タイマー監視とはどういう使い方になるのですか?

投稿日時 - 2005-05-05 16:24:22

ANo.1

ビジーになるというのは、ウインドウが真っ白になり、終了ボタンなどが効かなくなる、という意味でいいですか?

Loop の 前の行に DoEvents を入れればいいのではないでしょうか。

投稿日時 - 2005-05-05 15:33:41

あなたにオススメの質問