痔になりやすい生活習慣とは?

ログファイルのようなテキストファイルの中から一部分だけ抽出することは可能でしょうか。
たとえばタイトルやSQL文、それに結果がダラダラと並んでいる一連のログファイル(テキストファイル)の中から、使いたい結果の部分だけ使用したいと考えております。

具体的には次のような感じです(テキストファイル部分は一字下げています):

 --------------------
 18,購入年月
 SQL>******(省略します)*******
 SQL>******(省略します)*******
 SQL>******(省略します)*******

 顧客番号  購入年月   購入個数
 ----------------------------------
 0000012   2010/01   4
 0000530   2009/12   16
 0001234  2009/11  398

 3行取得しました。

 ----------------------
 19,顧客層
 SQL>******(省略します)*******
 SQL>******(省略します)*******
 SQL>******(省略します)*******
 ・・・

以上のテキストファイルの中から、
(1)「顧客番号  購入年月   購入個数」
から
(2)「3行取得しました。」
までを抽出したいです。
検索して範囲指定して切り取り…というのが原始的な方法ですが
対象ファイルが数個あるので、Excelで開き、VBA等で対応できればと思っています。
ちなみに(1)の項目名の間は複数スペースで区切られており、顧客~個数まで固定で、同一ファイル内に同じ文字列はないので、検索の条件に使えると考えています。(2)は抽出件数によって「*行」の箇所が変わるうえ、同一ファイル内の他の部分にも登場する文字列です。

(1)から次に初めて出てくる(2)までを抽出

といったことができればと思うのですが、なかなか良い方法が浮かびません。
何か良い方法がありましたらご教示いただければ幸いです。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

古いVBAで、とりあえずご提示された条件を満たすだけの最低限の内容ですが。



Sub Data_Extract()

Dim TextLine As String
Dim Cell_Row As Long
Dim Atama_Four As String
Dim SW As Integer

Cell_Row = 0
SW = 0

Open "c:\Data.txt" For Input As #1

Do While Not EOF(1)
Line Input #1, TextLine

' 行中に"顧客番号"という文字を発見した場合にスイッチを入れる
If InStr(1, TextLine, "顧客番号") <> 0 Then
SW = 1
End If

' SWが1で、かつ行中に"行取得しました。"という文字を発見した場合にスイッチを切る
If InStr(1, TextLine, "行取得しました。") <> 0 And SW = 1 Then
Cell_Row = Cell_Row + 1
Cells(Cell_Row, 1) = TextLine
SW = 0
End If

'スイッチが入っていればその行を書き出す
If SW = 1 Then
Cell_Row = Cell_Row + 1
Cells(Cell_Row, 1) = TextLine
End If
Loop

Close #1

End Sub
    • good
    • 2
この回答へのお礼

こちらの希望する通りのご回答、ありがとうございます!
確認させていただいた瞬間、感動さえ覚えました。
ご回答の内容に加えて、対象ファイルを選択する方法を組み込めば
目的は達成できそうです。
本当にありがとうございました!

お礼日時:2010/02/09 20:42

逆に質問を。


このログに対してあなたが何らかの仕様を追加できますか?

もしできるのであれば簡単な方法があります。

たとえばほしいデータの最終行にvbtab等のコードを入れておけば
そのコードが出現するまでデータをExcelシートに書き込み続ける。
といった方法があります。

もしくは、【行取得しました。】という文字列が入った一行が出るまで
シートに書き込んでもいいでしょう。
しかし、ヒットしたデータまでログに履く仕様ってどうなんだろうとは思いますが。
    • good
    • 2
この回答へのお礼

なるほど、そのような方法があるのですね。
ただ、ログに対しての仕様追加は残念ながらできません。
ですので、一テキストファイルと考えて、
一度Excelで開いてから(情報はA列にしか入りませんが)
部分選択⇒切り貼りが一番手っ取り早いかと考えるのですが、
そのうまいやり方わかりません…。
ご回答(ご質問)ありがとうございました。

お礼日時:2010/02/08 23:55

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【VBA ・ エクセル】 テキストファイルから特定情報をぬきだすには

下記のようなテキストファイルから、山田太郎の後ろの数値のみを、エクセルのシートに抜き出すにはどのようにしたらよいのでしょうか。

A1セルに30、A2セルに40、A3セルに60、のように入力したいです。よろしくおねがいします。

山田太郎 30点
aaaaaa30aaaaaaaaaaa
bbbbbb20bbbbbbbbbbb
ccccccccccccccccccc
山田太郎 40点
ssssss30sssssss
eeeeeee40eeeeeeeeee
fffffffffffffffffffffff
山田太郎 60点

Aベストアンサー

例データ
山田太郎 30点
aaaaaa30aaaaaaaaaaa
bbbbbb20bbbbbbbbbbb
ccccccccccccccccccc
山田太郎 40点
ssssss30sssssss
eeeeeee40eeeeeeeeee
fffffffffffffffffffffff
山田太郎 60点
これをメモ帳に貼り付け、名前をtest7.txtで保存しました。名前は自由です。
エクセルのVBEに標準モジュールに
Sub test01()
s = "山田太郎"
i = 2
Open "C:\Documents and Settings\XXXX\My Documents\test7.txt" For Input As #1
While Not EOF(1)
Line Input #1, a
If Left(a, Len(s)) = s Then
Cells(i, "A") = s
Cells(i, "B") = Right(a, Len(a) - Len(s))
i = i + 1
End If
Wend
Close #1
End Sub
を貼り付け、実行しました。
アクチブシートに
A列  B列
山田太郎 30点
山田太郎 40点
山田太郎 60点
となりました。

例データ
山田太郎 30点
aaaaaa30aaaaaaaaaaa
bbbbbb20bbbbbbbbbbb
ccccccccccccccccccc
山田太郎 40点
ssssss30sssssss
eeeeeee40eeeeeeeeee
fffffffffffffffffffffff
山田太郎 60点
これをメモ帳に貼り付け、名前をtest7.txtで保存しました。名前は自由です。
エクセルのVBEに標準モジュールに
Sub test01()
s = "山田太郎"
i = 2
Open "C:\Documents and Settings\XXXX\My Documents\test7.txt" For Input As #1
While Not EOF(1)
Line Input #1, a
If Left(a, Len(s)) = s ...続きを読む

QExcelVBA テキストファイルから特定行を抽出し、エクセルファイルのテキストボックスに張り付ける

Excel VBAにて、テキストファイルから文字列を選別して、それをエクセルファイルのテキストボックスに張り付けるコードの記述をご教授いただけますでしょうか。

環境はWindows7 Pro Excel2010
下記テキストファイルです。

test.txt

IDENTIFICATION DIVISION.
PROGRAM-ID. sample
AUTHOR. XXX
*
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT A ASSIGN TO B
SELECT C ASSIGN TO D
DATA DIVISION.
FILE SERECTION.

この FILE-CONTROL.と DATA DIVISIONの間に挟まれている
SELECT A ASSIGN TO B
SELECT C ASSIGN TO D

この2行を取り出して、エクセルファイル上にあるテキストボックス張り付ける処理です。
よって、FILE-CONTROL.と DATA DIVISION.の間にある不特定多数の行を抽出するロジックです。

テキストボックスに張り付ける前の行を抽出するだけでも、ご教授頂けたら幸いです。

よろしくお願いします。

Excel VBAにて、テキストファイルから文字列を選別して、それをエクセルファイルのテキストボックスに張り付けるコードの記述をご教授いただけますでしょうか。

環境はWindows7 Pro Excel2010
下記テキストファイルです。

test.txt

IDENTIFICATION DIVISION.
PROGRAM-ID. sample
AUTHOR. XXX
*
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT A ASSIGN TO B
SEL...続きを読む

Aベストアンサー

http://okwave.jp/qa/q8938350.html

Qテキストファイルから指定行をExcelに抽出したい。

「WindowsXP」/「Office2003Professional」を使用しています。

一つのフォルダに格納された複数のテキストファイルから、指定した文字列を含んだ行だけをExcelに抽出し、一覧表にする方法を教えて下さい。

各テキストファイルの抽出したい部分は以下のようになっています。(一部抜粋)
------------------
+製造元 *NEC
+型番 *ABC-000
+メモリMAX *512GB
+スロット数 *2

+DIMM1 *256 MB *333MHz
+DIMM2 *256 MB *333MHz
------------------
文字の先頭に[+]がついているものが検索文字列で、[*]が抜き出したいデータ部分です。
(実際のテキストでは[+]や[*]は書いてありません。)

これをExcelで検索文字列を項目名に指定し、[*]部分を抜き出し全テキストファイルを一覧表にしたいと思っています。(行列反転した表)

------------------
    A        B    C    D       E       F     G
1 ファイル名 製造元   型番  メモリMAX スロット数  DIMM1   DIMM2 …
2 aaa.txt NEC   ABC-000  512MB     2 256MB   256MB
3 bbb.txt FUJITU FMV10 1024MB 2 512MB
               ・
               ・
------------------
●テキストファイルの検索文字列とデータの間には半角スペースが入っています。
●テキストファイルの検索文字列の行位置はファイルごとに異なります。
●テキストファイルの検索文字列の中にはファイルによっては存在しない文字列もあります。
●ExcelのA列にはフォルダ内のファイル名が予め全て入力されています。

もしもVBAを使用しなければならない場合は、VBAの知識が無い為、勝手を申しますが詳しくご教示頂けると幸いです。

宜しくお願い致します。

「WindowsXP」/「Office2003Professional」を使用しています。

一つのフォルダに格納された複数のテキストファイルから、指定した文字列を含んだ行だけをExcelに抽出し、一覧表にする方法を教えて下さい。

各テキストファイルの抽出したい部分は以下のようになっています。(一部抜粋)
------------------
+製造元 *NEC
+型番 *ABC-000
+メモリMAX *512GB
+スロット数 *2

+DIMM1 *256 MB *333MHz
+DIMM2 *256 MB *333MHz
------------------
文字の先頭に[+]がついているものが検索文字列で、...続きを読む

Aベストアンサー

1、[Sheet1]タグを右クリックし[コードの表示(V)]をクリック。
2、メニューバーも[ツール(T)]-[参照設定(R)]をクリック。
3、Microsoft scripting runtime にレ点を付けて[OK]ボタンをクリック。

これで、コンパイルエラーは回避できます。

質問者は、単なる関数ユーザーです。

A1=DataRead("C:\Temp\test1.txt", "製造元")

と書けりゃー十分ですよ。

Qtxtファイルから特定の文字列が書かれた行だけを取得や削除するソフト

txtファイルで
特定の文字列が書かれた行だけを
取得や削除するソフトや方法を探しています。
フリーで無いなら、シェアウェアなどになってもかまいません

例えば
(12)と書かれた文字列がある行だけを抜きだしたり
逆に(12)と書かれた文字列がある行だけを削除したり
したいです。

そのソフトの操作方法も教えてくださると助かります。

では、回答を心よりお待ちしております。

Aベストアンサー

NoEditor
http://www.vector.co.jp/soft/winnt/writing/se300436.html

というフリーのテキストエディタをインストールすると、YokkaGrepというソフトがセットでインストールされます。

検索ディレクトリ、検索文字列(正規表現も可)、ファイル名(ワイルドカードで複数のファイルの検索も可)などをセットして検索できます。

検索結果をテキストファイルやcsvファイルに出力することや、検索文字列を含む行を削除などの機能もあります。

grepで検索すると、他にも似たような機能のソフトがあると思いますが、NoEditor付属のYokkaGrepは、お勧めです。

Q【VBA】テキストファイルを指定行数からの読み込み

こんばんは。

EXCEL VBAでテキストファイルを読み込む事について質問です。

VBAでテキストファイルをこちらから指定する行数(上から何番目という感じで)からデーターを読み込みたいのですが、どの関数をつかっていいかわからず困っています。
1行ずつ読みこむ「Input Line関数」では、無駄な行まで読み込むので動作が遅くなります。
読み込みたい行はすでにわかっているので、最初からその行に飛んでからデーター読み込みたいと思ってます。

ちなみに指定する行数は、ファイルによって違います。
あらかじめ「Input Line関数」で、ある文字が何行目にあるかを探す行為をあらかじめ行っています。

みなさまのアイデアを拝借したく、よろしくお願いします。

Aベストアンサー

速度は分かりませんが、これとか
http://officetanaka.net/excel/vba/filesystemobject/textstream10.htm

あるいは、丸ごと読みこんで、改行コードでSplitして、文字列配列を相手に該当行検索も含めて処理するとか。
昨今のPCでは、相当大きなテキストファイルでもメモリー内で処理できると思います。
http://officetanaka.net/excel/vba/filesystemobject/textstream07.htm

テキストファイルの構造によってはADOで処理する案も考えられますが、Recordsetにはファイルの先頭から(あるいは末尾先頭で)入っている事が保証されているのか、ちょっと心配。参考URLはCSVになっていますが、タブ区切りテキストファイル(拡張子.txt)でもいけます。
http://home.att.ne.jp/zeta/gen/excel/c04p47.htm

以上ご参考まで。

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QEXCEL VBAマクロ作成で、他のEXCELからデータを取り込みたい

メインプログラム(EXCEL VBA)より、
他のフォルダーにあるEXCELの項目の内容を取り込みたいです。
たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。

・コマンドボタン押したら、どこのEXCELから取り込むかのポップアップ(?)は、表示はできてます。
・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。

・となると次はOPEN,INPUTですか?
テキストデータの取り込みですと、Inputでそのバッファを定義してるのですが、なんか違うような。。。

よろしくお願いします!

Aベストアンサー

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Cells(2, 2).Value ' 相手シートの B2 の値を自分自身の A1 に書き込む

readBook.Close False ' 相手ブックを閉じる
Set readSheet = Nothing
Set readBook = Nothing

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む

Q複数のエクセルファイルからデータ抽出とまとめる方法について。

500のエクセルファイルがあり、それぞれのエクセルデータのA2からF2までのデータのをまとめた一覧表(1行目は、1枚目のエクセルファイルのA2-F2、2行目は2枚目のエクセルファイルの・・・、という感じでです)のを、新しいエクセルファイルもしくはテキストなどにでも手早く作れる方法をご存知の方、ご教授ください。コピペでやっていますが嫌になってしまいました。。マクロも触っては見たのですが、2枚目のエクセルファイルを2行目に、3枚目のエクセルファイルを3行目になどの方法の解決は思いつかず、挫折しました。よろしくお願いいたします

Aベストアンサー

対象のフォルダをcドライブの「sample」とした場合で回答します。
新規エクセルブックのシート名タブを右クリックし「コードの表示」
右側のエディタエリアに下記コードを貼り付け、実行して下さい。
G列にファイル名が入るようになっています。不要であれば
Cells(rIdx, 7).Value = fName
を削除して下さい。


Sub getA_F()
Const myPath As String = "c:\sample\"
Dim rIdx As Long
Dim fName As String
fName = Dir(myPath & "*.xls")
Do Until fName = ""
Workbooks.Open Filename:=myPath & fName
rIdx = rIdx + 1
Me.Range(Cells(rIdx, 1), Cells(rIdx, 6)).Value = ActiveSheet.Range("A2:F2").Value
Cells(rIdx, 7).Value = fName
Windows(fName).Close
fName = Dir
Loop
End Sub

対象のフォルダをcドライブの「sample」とした場合で回答します。
新規エクセルブックのシート名タブを右クリックし「コードの表示」
右側のエディタエリアに下記コードを貼り付け、実行して下さい。
G列にファイル名が入るようになっています。不要であれば
Cells(rIdx, 7).Value = fName
を削除して下さい。


Sub getA_F()
Const myPath As String = "c:\sample\"
Dim rIdx As Long
Dim fName As String
fName = Dir(myPath & "*.xls")
Do Until fName = ""
Workbooks.Open ...続きを読む

Qファイル内にある文字列を検索してその1行すべてを取り出す方法を教えてください!!

今いろいろ検索して探していたのですが全く見つかりませんでした。
お願いしたいことは
まずtest.txtというファイルがあります。
内容は
2005/11/1,10,23.5
2005/11/1,11,22.5
という感じで日付,時間,温度で一行一行改行という感じになっています。
この中からVBのcomboboxを使って年、月、日にち、時間を別々に指定してそれにすべて一致する行をラベルに表示させたいのです。
私は今高校1年でPICNICというものを作って温度を計測、記録、読み出しをやりたいんですが計測、記録はできています。後読みだしだけです。よろしくお願いします。

Aベストアンサー

こんにちは。KenKen_SP です。

#3 を投稿した時点でサンプルコードを書いていたのですが、レスが無いけど、
折角なので、アップしておきます。VB のバージョンが違っていたら書き直し
て下さい。うまくいくといいですね。

あとは、適当にエラー処理をいくつか入れておきましたが、厳密にはしていま
せん。

Private Sub Command1_Click()

  Dim datDATE As Date
  Dim strDATE As String
  Dim strKWRD As String
  Dim n    As Long
  Dim strFILE As String
  Dim strBUF As String
  Dim aryBUF As Variant
  Dim aryRESULT As Variant
  Dim strFILE_FULLPATH As String
  
  'データファイルのフルパス
  strFILE_FULLPATH = App.Path & "\test.txt"
  
  'Combobox コントロールからシリアル値生成
  On Error Resume Next
  datDATE = DateSerial(cmbYEAR.Text, cmbMonth.Text, cmbDay.Text)
  If Err.Number > 0 Then
    MsgBox "有効な日付ではありません", vbCritical
    Exit Sub
  End If
  On Error GoTo 0
  
  '日付書式化
  strDATE = Format$(datDATE, "yyyy/m/d")
  '検索キー生成---こんな感じ→"2005/11/2,10,"
  strKWRD = strDATE & "," & cmbTime.Text & ","

  'データのバッファサイズを求める
  On Error Resume Next
  strBUF = Space(FileLen(strFILE_FULLPATH))
  'データファイルが無い場合のエラートラップ
  If Err.Number > 0 Then
    MsgBox "データファイルが見つかりません", vbCritical
    On Error GoTo 0
    Exit Sub
  End If
  On Error GoTo 0
  'データファイルオープン
  n = FreeFile()
  Open strFILE_FULLPATH For Binary As #n
    Get #n, , strBUF
  Close #n
  
  'この辺から VB6 からの関数を使っています
  
  'Split 関数を使って改行コード(vbCrLf) でレコード単位に配列化
  aryBUF = Split(strBUF, vbCrLf)
  '配列内を検索
  aryRESULT = Filter(aryBUF, strKWRD, True, vbTextCompare)
  
  '結果表示
  If UBound(aryRESULT) = -1 Then
    MsgBox "該当データなし"
  Else
    '要素ごとに分割が必要なら Split 関数で「カンマ」で分割
    'して、ラベルのCaptionに設定すれば良いでしょう
    MsgBox aryRESULT(0)
  End If
  
  Erase aryRESULT
  Erase aryBUF

End Sub

こんにちは。KenKen_SP です。

#3 を投稿した時点でサンプルコードを書いていたのですが、レスが無いけど、
折角なので、アップしておきます。VB のバージョンが違っていたら書き直し
て下さい。うまくいくといいですね。

あとは、適当にエラー処理をいくつか入れておきましたが、厳密にはしていま
せん。

Private Sub Command1_Click()

  Dim datDATE As Date
  Dim strDATE As String
  Dim strKWRD As String
  Dim n    As Long
  Dim strFILE As String
  Dim strBUF As...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング