Excelマクロで下記のようなテキストファイルから、
「Release」から始まるレコードを取得する方法を教えて頂けますでしょうか?
テキストファイルの仕様として、
1.テキストファイルによって「Version」を含むレコードが増減します。
2.「Release」で始まるレコードは必ず1レコードのみです。
3.「Release」レコードが何行目に位置するかは変わります。
4.「Release」レコードの文字列長は可変です。(「4.7.1 Windows hogehoge edition」などと記載される場合もあります。)
以上です。
instr関数とMid関数を使用していましたが、
「4.7」は取得できるものの、上記カッコ内の様にその後に文字列が続く場合があり、
理想としては「Release」で示されるValue値を改行コード手前まで取得したいと考えております。
恐れ入りますが、宜しくお願い致します。
=テキストファイルの内容=
Type Value
Version 2.0.50727.5420
Version 3.0.30729.5420
Version 3.0.4506.5420
Version 3.0.6920.5011
Version 3.5.30729.5420
Version 4.0.0.0
Release 4.7
Version 4.7.02053
VBA
1'2017/12/22追記 2'Alllog4は本テキストファイルの全文を格納しています。 3 With fso.OpenTextFile(logPath & buf4, 1) ' 4 Alllog4 = .ReadAll 5 .Close 6 End With 7'現状使用しているinstr関数とMid関数のコードです 8 Net_ver = Mid(Alllog4, InStr(1, Alllog4, "Release") + 8, 7) '「Release」表記のあとのバージョンを求める。
※皆様どうもありがとうございました。
皆様のご指摘どおり、「vbCrLf」の指定で行を区切ることで実現することが出来ました。
ベストアンサーは非常に迷いましたが、現コードの一文をそのまま修正して実現することが出来ましたので
h.horikoshi様とさせて頂きました。
他の回答者の皆様には申し訳ございませんが、一つ一つのご回答がとても参考になりました。
本来、お礼をこちらに記載することは不適切かもしれませんが
記載する場所が分かりませんでしたのでこちらで述べさせて頂きます。
貴重なお時間を割いて頂き、ありがとうございました。
回答4件
あなたの回答
tips
プレビュー