Excel VBA質問箱 IV

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

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


32383 / 76734 ←次へ | 前へ→

【49588】Re:ツリー表示とリンク貼りしたファイルの自動更新
発言  Jaka  - 07/6/12(火) 10:21 -

引用なし
パスワード
   エラーになる原因がなんとなく解りました。
ドスでのテキストファイルができるまでの時間。
これより、もっといい方法があると思います。
不安定すぎますね。すみません。

Sub dame()
Dim Fpat As String, ComL As String, ReadData As String
Dim TB() As String, FileNo As Integer, i As Long, ii As Long
Dim DFoP As String
DFoP = CurDir()
Fpat = "C:\TrrFL.txt" 'テキスト1時保存場所
TrFld = "C:\"     'ツリー表示フォルダ
'カレントディレクトリーを移す。
CreateObject("WScript.Shell").CurrentDirectory = TrFld
'ドスコマンド
ComL = "COMMAND.COM /C tree>" & Fpat
Call Shell(ComL, vbHide)

'DOSでTreeテキストができるまでの時間があいまい。
'自分の環境で15秒ぐらい待たないとダメでした。
'テキストができるまでの時間がよく解りませんでした。
'この辺があいまいで、すみません。     
Application.Wait Now + TimeValue("00:00:15")
DoEvents
Do Until Dir(Fpat) <> ""
  DoEvents    '←これもテキストができるまでの時間稼ぎ
Loop

FileNo = FreeFile
Open Fpat For Input As #FileNo
i = 0
Do Until EOF(FileNo)
  i = i + 1
  Line Input #FileNo, ReadData
Loop
Close #FileNo
DoEvents

ReDim Preserve TB(1 To i, 1 To 1)
ii = 0
FileNo = FreeFile
Open Fpat For Input As #FileNo
Do Until EOF(FileNo)
  ii = ii + 1
  Line Input #FileNo, TB(ii, 1)
Loop
Close #FileNo

'65536行以上の場合だった場合を考えて取りあえず。
If i > 65536 Then
  MsgBox "プログラム改良必須"
  Erase TB
  Kill Fpat
  Exit Sub
End If

Range("A1").Resize(i).Value = TB
DoEvents
Erase TB
Kill Fpat '1時保存テキストを削除
DoEvents
End Sub
6 hits

【49559】ツリー表示とリンク貼りしたファイルの自動更新 みるみる 07/6/11(月) 10:21 質問
【49564】Re:ツリー表示とリンク貼りしたファイルの... Jaka 07/6/11(月) 16:00 発言
【49567】Re:ツリー表示とリンク貼りしたファイルの... みるみる 07/6/11(月) 16:33 お礼
【49588】Re:ツリー表示とリンク貼りしたファイルの... Jaka 07/6/12(火) 10:21 発言
【49593】Re:ツリー表示とリンク貼りしたファイルの... みるみる 07/6/12(火) 11:28 お礼

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