Excel VBA質問箱 IV

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

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


59530 / 76732 ←次へ | 前へ→

【21889】Seek関数を使いこなすには
発言  umebaind E-MAIL  - 05/2/2(水) 20:17 -

引用なし
パスワード
   始めまして、UMEBAINDといいます。
VBAは初心者なもので教えていただきたいのですが、
以下のようなプログラムを作りSEEK関数を利用して
ファイルから検索している文字が見つかれば
新たに検索する文字を入れ替え
見つかった行のその次の行から検索し処理を
短時間で終了させるような事をやりたいのですが
<<<このPGの本体とも言うべきプログラムは約25万件の処理を
行う為>>>
どうかご教授ください。
よろしくお願いします。


Sub FSEEK()
'MsgBox "引数=" & Mails
  Dim s As String
  Dim MyArray
  Dim d
  s = CurDir          'カレントフォルダを取得する
  MyArray = Split(s, "\", -1) 'カレントフォルダを"¥"で分割する
  'カレントフォルダを再構成する
  s = MyArray(0) & "\" & MyArray(1) & "\" & MyArray(2) & "\" & "デスクトップ\ファイルシーク"
  
  ChDir s           'カレントフォルダを変更する
  Dim strFILENAME2 As String
  strFILENAME2 = s & "\FILESEEK2.txt"

  Dim strREC 'オーバーフローの為
  
  Dim setlist As Variant     'SPLITの戻り値はバリアント型の為
  Dim n, comt, counter
 
  'strFILENAME2 = s & "\FILESEEK2.txt"
  Dim intFileno As Integer
  Dim i
  Dim jjj As Variant
  Dim uuu As Long
  Dim dse, A1, A2 As String
  Open strFILENAME2 For Input As #1
  Dim strtest
  Dim ddd As String
  Dim FPos As Long
  
  counter = 0
  i = 1
  Do Until EOF(1)
    
    Line Input #1, strREC
    
    jjj = Split(strREC, ",")
    dse = jjj(1)

A1 = "6columsyori"
A2 = "12columsyori"

    If StrComp(dse, A1) = 0 Then
      
      MsgBox i & "行目" & "で見つかりました!" & A1 & "行目の処理:" & Loc(1)
    
      FPos = Seek(1)
      
      MsgBox FPos & "⇔本当の現在位置"
      
      A1 = ""
      A1 = A2 '処理の入れ替え
      Seek #1, FPos + 1 '見つかった位置から検索する
    
    End If
    i = i + 1
   
  Loop
  
'
  Close #intFileno


End Sub

データは以下のファイルです。・**************************************

\FILESEEK2.txt

1FILESEEKTESTNOW,1columsyori
2FILESEEKTESTNOW,2columsyori
3FILESEEKTESTNOW,3columsyori
4FILESEEKTESTNOW,4columsyori
5FILESEEKTESTNOW,5columsyori
6FILESEEKTESTNOW,6columsyori
5FILESEEKTESTNOW,7columsyori
5FILESEEKTESTNOW,8columsyori
9FILESEEKTESTNOW,9columsyori
10FILESEEKTESTNOW   ,10columsyori
11FILESEEKTESTNOWSEEEK ,11columsyori
12FILESEEKTESTNOW   ,12columsyori
13FILESEEKTESTNOWSEEEK,13columsyori
14FILESEEKTESTNOW   ,14columsyori
15FILESEEKTESTNOW   ,15columsyori
16******************** ,16columsyori
17    uu         ,17columsyori
18 uuuu           ,18columsyori
19FILESEEKTESTNOW,19columsyori
20FILESEEKTESTNOW,20columsyori
21FILESEEKTESTNOW,21columsyori
22FILESEEKTESTNOW,22columsyori
23    g           ,23columsyori
24    g            ,24columsyori
25    g            ,25columsyori
26    g            ,26columsyori
27    g            ,27columsyori
28    g            ,28columsyori
29    g            ,29columsyori
30    g            ,30columsyori

1 hits

【21889】Seek関数を使いこなすには umebaind 05/2/2(水) 20:17 発言
【21892】Re:Seek関数を使いこなすには ちゃっぴ 05/2/2(水) 20:51 回答
【21897】Re:Seek関数を使いこなすには ichinose 05/2/3(木) 7:47 発言

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