投稿日 | : 2003/11/18(Tue) 12:45 |
投稿者 | : ちり |
Eメール | : |
URL | : |
タイトル | : Re^2: 配列の中の文字列を検索しその位置を知るには |
みなさん回答ありがとうございます。
Like演算子って知りませんでした。試してみます。
20行まとめて読み込みってのは意外な処理ですね。
まったく思いつきませんでした。これも試してみます。
エディタ等で手作業するのはちょっと厳しいと思い、
vbで処理しようとしています。
DLLを作成ってのは、スキル不足なので不可能そうです。
いろいろアイディアをいただきましたので、また、いろいろ検討してみます。
ちなみに、現在の状況なんですけど、
データを読み込んで、配列に入れてfor〜nextで処理するに限界を感じて、
ADO2.5で処理しようとしたが、60Mのデータが70〜80Mのmdbになり、
その読み込みの遅さと処理の遅さで断念して、
最終的に、データを読み込んだString型の変数で処理しています。
Private Sdat As String
Private Sdat1 As Long, Sdat3 As Long
Private Sdat2 As String
Function SdatBunkatu(iFst As Long, strKen As String) As Long
Dim Si As Long
'目的の文字が含まれていない
Si = InStr(iFst, Sdat, strKen)
If Si = 0 Then Exit Function
Sdat1 = InStrRev(Sdat, vbCrLf, Si) + 1
Sdat3 = InStr(Si, Sdat, vbCrLf)
Sdat2 = Mid(Sdat, Sdat1 + 1, Sdat3 - Sdat1 - 1)
Sdat2b = Sdat2
SdatBunkatu = iFst + 1
End Function
というかんじで目的の行を Sdat2 に入れて変換処理し、
Function SdatKetugo()
' Sdat = Mid(Sdat, 1, Sdat1) & Sdat2 & Mid(Sdat, Sdat3)
Sdat = Replace(Sdat, Sdat2b, Sdat2)
End Function
でもとの変数を差し替える。という感じで処理しています。
いろいろ試した中でこれが一番早かったのですが、
実用できるようなスピードが出ていません。
また、なにか良い知恵があればご教授お願いします。