人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: DOK
●カテゴリ:コンピュータ
✍キーワード:AA BB Excel name txt
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

[1]条件が よくわからない。 taknt

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

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

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

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

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

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

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

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


[2]>1 あ、区切り位置は taknt

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


[3]>2 すみません、分かりにくかったですね^^; DOK

たとえばパターンとして

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ステップが必要になってくるので、簡略化できないかなと考える次第です


[4]>3 秀丸などのエディタで置換しておけば一発だと思います。 taknt

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

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

連続して 行なう分には

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

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


[5]>4 1ステップでは難しいみたいですね。 DOK

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ