[Excel VBA]

ズバリ、最も使えると思った回答には大量ポイント進呈させていただきます。

TXTファイルで数十行にわたって
[NAME 命令文 ID=XX,OPT1=YYY,OPT2=(AA,BB)]
という形式のものがあります。
NAME部分の文字数は3~5文字で一定せず
OPTの数も種類によってあったり省略されていたりします

これが複数ファイルあり、エクセルで一括管理するために、NAME,XX,YY,AA,BBなどの可変部分に関してのみ指定したシートのセルへ格納したいのですが、うまくいきません。
(これがうまくいけば、Excel上でそれらを編集したものを同じ形式のTXTファイル生成に使いたいと思っています。)
テキストファイルを開いて、1行ごとに各ステータスを判断し、それを指令セルに入れる方法を教えてください。

回答の条件
  • 1人5回まで
  • 200 ptで終了
  • 登録:
  • 終了:2006/07/09 21:10:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

すべて
条件が よくわからない。 きゃづみぃ2006/07/02 22:14:17ポイント3pt

OPTの数も種類によってあったり省略されていたりします

これは、OPTn= の nが大量にあるかもしれないという想定でしょうか?

また、OPT2=(AA,BB)のAAとBBだけではなく、さらに CCというものがあるのでしょうか?

通常、このようなものを分解する場合、区切り位置というのを用います。

http://www.relief.jp/itnote/archives/000133.php

この場合、空白と= , () などで 区切ればいいでしょう。

それで区切って不要な列は、削除したらいいと思われます。

この場合、得たい結果になりますでしょうか?

あ、区切り位置は きゃづみぃ2006/07/02 22:15:33ポイント3pt

一度、テキストファイルを読み込んでからか コピーしてセルに貼り付けてからやります。

すみません、分かりにくかったですね^^; DOK2006/07/02 22:28:51

たとえばパターンとして

NAME 命令文 ID=XX,OPT1=YY,OPT2=(CC,DD)

という形式の表記があり、例として

rei1 命令文 ID=01,OPT1=YYY,OPT2=(CC,DD)

sample 命令文 ID=02,OPT1=YXY,OPT2=(CD),OPT3=EE

等があるということでした。

これをテキストファイルから直接取り込みながら両列ごとに

NAME | ID | OPT1 | OPT2 | OPT3

rei1 | 01 | YYY | CC,DD |

sampl | 02 | YXY | CD | EE

となるワークブックを1~2ステップで作ろうと思っています。

一度セルに取り込んで区切り位置を利用するのであれば

1:エクセルに読み込ませる

2:区切り記号を整える

3:区切り位置を実行

の最低3ステップが必要になってくるので、簡略化できないかなと考える次第です

秀丸などのエディタで置換しておけば一発だと思います。 きゃづみぃ2006/07/02 22:32:58ポイント2pt

秀丸だったら 簡単にマクロを作ることもできますしね。

また、区切り位置も一度行なうと、それを記憶しているので

連続して 行なう分には

1:エクセルに読み込ませる

のテキストをコピペの貼り付けでできます。

1ステップでは難しいみたいですね。 DOK2006/07/02 22:50:40

秀丸でカンマ等で並べ替えてCVSなどで保存し、エクセルで読み込ませると、確かにそれっぽいものができることはできるんですが・・・

ステップ数が増えてしまい、わずらわしいので簡略化できればと考えていました。

やはりサブソフトとしてテキスト編集部分を持ち出さないと難しいようですね。

すべて

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません