メモ帳で開いた場合の典型的なWhatsApp履歴チャットファイル(.txt)は次のようになります。実施例4つのメッセージ、各日付/タイムスタンプ&名で始まるがあることExcel VBA - Troube WhatsAppチャット履歴ファイルをExcelシートにインポートする
注意。 また、すべてのメッセージの終わりを示す文字があります(Chr(10)と思われます)。
さらに、3番目のメッセージ(購入リスト)は複数の行で構成され、WhatsAppチャットではEnterキーを押すことで達成されます。
私の目標は、4つのメッセージのそれぞれが、独自の行で終わるように以下のように、Excelシートに上記のデータをインポートすることです:
これまでのところ、私はしましたWorkbook.OpenTextメソッドを使用して悲惨に失敗しようとしていました。問題は、購入リストの複数の行が、メッセージ全体として扱われるのではなく、別々の行になることです。
何千ものメッセージで膨大なチャットファイルを処理する必要があるため、すばやく洗練されたソリューションも必要です。 もちろん、私は、日付/時刻/ユーザー名のスタンプを持っているかどうかに基づいて行をループしてマージすることができますが、それは大きなファイルで時間がかかります。
EDIT:ここでは、.txtファイルをインポートするために私が現在使用しているコードを見てください。私はを要求していませんでした優雅な解決策、それがそんなことで出てきたらごめんなさい。私はちょうど私がそれがエレガントであることを最終的に愛することを意味しました、ちょうど手がかりまたは2つ以上を必要とします。
Sub ImportTXT()
ChatFileNm = Application.GetOpenFilename(FileFilter:="Text Files (*.txt), >*.txt", Title:="Select Chat File To Be Opened")
If ChatFileNm = False Then Exit Sub
SourceSheet = FSO.GetBaseName(ChatFileNm)
Workbooks.OpenText filename:= _
ChatFileNm, _
Origin:=65001, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlTextQualifierNone, ConsecutiveDelimiter:=False, _
Tab:=False,>Semicolon:=False, _
Comma:=False, Space:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1)), DecimalSeparator:=".", ThousandsSeparator:=",", _
TrailingMinusNumbers:=True
End Sub
デビッド、とにかく感謝。それが重要なのは、私の最初の投稿です。はい、私は私が望むように作業をするのに問題があるコードを持っています、上の編集を参照してください。そして、はい、私はいくつかの無料のコードと知恵のいくつかの自由な言葉が欲しいですが、私は正しい方向に私を押してください。あなたが私に何かを与えることができればそれを感謝します。 – hey
私は 'FileSystemObject'を使ってテキストを読み込もうとします。あなたは '23.05.16'フォーマットに基づいて各行の始めに解析することができるように見えます。 – Kyle
@heyあなたのコードを編集していただきありがとうございます - 私は下記に投稿していただきました。あなたのファイルが改行の点でファンキーな場合、それらを処理するためにいくつかの追加ロジックを追加することができます。どのように動作するか見てみましょう。 –