Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


61884 / 76738 ←次へ | 前へ→

【19465】Re:みなさんのご意見を下さい
発言  ichinose  - 04/11/4(木) 9:48 -

引用なし
パスワード
   皆さん、おはようございます。
>試しにEXCELマクロを作成して、実用可能か検証してみては如何でしょうか?
とIROCさんがおっしゃっていますね!!
私も賛成です。

監視は、私も遊びと実験を兼ねて何回か簡単なものを作った事があります。
でも、実用するには、不安材料があったし、そのような案件もなかったし・・。

Excel2000から、VBAでも独自イベントが作成できますよね!!
これで実験(デバッグ)してみて下さい。

・新規ブックのSheet1にコントロールツールボックスのコマンドボタンを二つ
作成して下さい。
Commandbutton1----監視開始
Commandbutton2----監視終了

・クラスモジュールを作成して下さい(クラス名は、Class1)
そのClass1のモジュールに、
'==================================
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private fso As Object
Private i_fld As Object
Private i_flcnt As Long
Event addfile(ByVal flcnt As Long)
Public m_stop As Boolean
'========================================================
Sub set_init_flcnt(fldnm As String)
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set i_fld = fso.GetFolder(fldnm)
  i_flcnt = i_fld.Files.Count
  Set fso = Nothing
End Sub
'========================================================
Sub fld_ment()
'ここが監視実行プロシジャーですが、
'簡単なロジックでしかチェックしていません。
'実際には、初期ファイルリストを作成して、照合を行うような方法だと思います
'ここでは、ファイル数が増えたら、イベントを発生させるようにしています
  Dim c_fld As Folder
  m_stop = False
  Do While m_stop = False
   DoEvents
   Call Sleep(300)
   If i_fld.Files.Count > i_flcnt Then
     i_flcnt = i_fld.Files.Count
     RaiseEvent addfile(i_flcnt)
     End If
   Loop
End Sub


・次にコマンドボタンを作成したSheet1のモジュールに

'===============================================================
Private WithEvents flmet As Class1
'===============================================================
Private Sub CommandButton1_Click()
'監視開始ボタン
  Set flmet = New Class1
  With flmet
   .set_init_flcnt ("D:\My Documents\cd")
   .fld_ment
   End With
End Sub
'================================================================
Private Sub CommandButton2_Click()
'監視終了ボタン
  flmet.m_stop = True
End Sub
'================================================================
Private Sub flmet_addfile(ByVal flcnt As Long)
' ファイル数が増えたら、セルA1にファイル数セット
  Cells(1, 1).Value = flcnt
End Sub


こんなコードで一見すると、動いているように見えます。
但し、監視開始後のExcelの動きは、重いです。

前述しましたが、実際に監視するチェックはもっと複雑です。
この程度のロジックで実験してみて、問題ないのなら次のステップに・・・
というように実験してみたらどうですか?

0 hits

【19435】フォルダの監視&ファイルコピー ackkn 04/11/2(火) 18:43 質問
【19436】Re:フォルダの監視&ファイルコピー ちゃっぴ 04/11/2(火) 22:52 回答
【19439】Re:フォルダの監視&ファイルコピー ackkn 04/11/3(水) 8:07 質問
【19447】Re:フォルダの監視&ファイルコピー Kein 04/11/3(水) 15:42 発言
【19448】Re:フォルダの監視&ファイルコピー ackkn 04/11/3(水) 18:12 質問
【19449】Re:フォルダの監視&ファイルコピー [名前なし] 04/11/3(水) 20:20 発言
【19450】Re:フォルダの監視&ファイルコピー ackkn 04/11/3(水) 21:19 発言
【19451】Re:フォルダの監視&ファイルコピー ちゃっぴ 04/11/3(水) 21:59 発言
【19452】Re:フォルダの監視&ファイルコピー ackkn 04/11/3(水) 22:07 質問
【19457】Re:フォルダの監視&ファイルコピー ちゃっぴ 04/11/4(木) 0:03 発言
【19461】Re:フォルダの監視&ファイルコピー ackkn 04/11/4(木) 8:07 発言
【19462】Re:フォルダの監視&ファイルコピー IROC 04/11/4(木) 8:45 回答
【19463】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 9:19 質問
【19464】Re:みなさんのご意見を下さい IROC 04/11/4(木) 9:24 回答
【19465】Re:みなさんのご意見を下さい ichinose 04/11/4(木) 9:48 発言
【19467】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 10:31 発言
【19468】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 11:31 質問
【19469】Re:みなさんのご意見を下さい ichinose 04/11/4(木) 11:44 発言
【19470】Re:みなさんのご意見を下さい Kein 04/11/4(木) 13:49 発言
【19471】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 15:47 発言
【19472】Re:みなさんのご意見を下さい IROC 04/11/4(木) 16:27 回答
【19473】Re:みなさんのご意見を下さい Kein 04/11/4(木) 16:40 回答
【19474】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 17:08 発言
【19480】Re:みなさんのご意見を下さい Kein 04/11/4(木) 20:55 発言
【19478】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 20:19 質問
【19481】Re:みなさんのご意見を下さい Kein 04/11/4(木) 21:00 発言
【19476】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 19:51 質問
【19477】Re:みなさんのご意見を下さい ちゃっぴ 04/11/4(木) 20:09 発言
【19479】Re:みなさんのご意見を下さい ackkn 04/11/4(木) 20:37 お礼
【19482】Re:みなさんのご意見を下さい ちゃっぴ 04/11/4(木) 21:17 回答
【19484】Re:みなさんのご意見を下さい ichinose 04/11/4(木) 22:29 発言
【19492】Re:みなさんのご意見を下さい ackkn 04/11/5(金) 9:20 回答
【19489】Re:みなさんのご意見を下さい [名前なし] 04/11/5(金) 0:19 発言
【19490】Re:みなさんのご意見を下さい Kein 04/11/5(金) 0:45 発言
【19494】Re:みなさんのご意見を下さい ackkn 04/11/5(金) 10:20 発言
【19497】Re:みなさんのご意見を下さい Kein 04/11/5(金) 13:23 回答
【19500】Re:みなさんのご意見を下さい ackkn 04/11/5(金) 14:01 発言
【19502】Re:みなさんのご意見を下さい vba97_pass 04/11/5(金) 14:55 発言
【19503】Re:みなさんのご意見を下さい vba97_pass 04/11/5(金) 15:07 発言
【19504】Re:みなさんのご意見を下さい ackkn 04/11/5(金) 19:48 質問
【19506】Re:みなさんのご意見を下さい Kein 04/11/5(金) 21:22 発言

61884 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free