タイトル通りとなります
ExcelVBAでマクロを作成中ですが、どう処理すればいいかわからなくなってきたので質問させてください
lang
1C:\Work 2├folder1-1 3|├folder1-1-1 4|├folder1-1-2 5|└folder1-1-3 6| └text.txt1 7├folder1-2 8|├folder1-2-1 9|├folder1-2-2 10||├folder1-2-2-1 11|||└text.txt2 12||├folder1-2-2-2 13||└folder1-2-2-3 14|└folder1-2-3 15├folder1-3 16|├folder1-3-1 17||└text.txt3 18|├folder1-3-2 19|└folder1-3-3 20…
という風に階層の規則性なく配置されているすべての.txtを確認し、
lang
1Text.txt1 2 <name>name1</name> ← tabindexに記述がないから取得しない 3 <message /> 4 <textalign /> 5 <font /> 6 <fontsize /> 7 <tabindex /> ← tabindexに記述がない 8 <comment /> 9 <name>name2</name> ← tabindexに記述があるから取得する 10 <message /> 11 <font /> 12 <fontsize /> 13 <tabindex>2</tabindex> ← tabindexに記述がある 14 <comment /> 15 <name>name3</name> ← tabindexに記述があるから取得する 16 <message /> 17 <font /> 18 <fontsize /> 19 <betnokijutu /> 20 <tabindex>1</tabindex> ← tabindexに記述がある 21 <comment /> 22 </ctrlitem>
.txt内にいくつかある<tabindex>の横に数字がある場合のみ<tabindex>の数字と、<tabindex>がある行の上にある<name>横の名称と.txtファイル名とファイルのフルパスをシートに出力。
という繰り返しをフォルダ選択ダイアログで選択したフォルダ以下にある全ての.txtで実施したいのですが。
- ダイアログでフォルダの場所を選択後、サブフォルダ内のどの階層にあるかわからない.txtを順番に見つける為のループ処理の方法
- .txt内で値のある<tabindex>を見つけた後、その<tabindex>より上にある<name>の値の取得方法
- サブファイル数、.txtの総数、1つの.txt内の総行数が全て10000を超える値なので、一連の処理を効率化して速度を上げる方法
の3点で特に悩んでいます。
すみませんがお力をお貸し頂けないでしょうか?
解決済みの質問にコメントするのは野暮かもしれませんが、 <name>name2</name>と<name>name3</name>が、"tabindexに記述があるから取得する"とコメントされていますが、 どのtableindexタブに含まれているのでしょうか?
回答2件
あなたの回答
tips
プレビュー