プロが教えるわが家の防犯対策術!

注文ファイルがプロバイダのサーバに入ります。
ファイルはテキストファイルで、下記のようになっています。

1注文コード:123
1商品名:納豆
1サイズ:中
1数量:10
2注文コード:234
2商品名:納豆
2サイズ:大
2数量:5
  途中省略
5注文コード:0
5商品名:
5サイズ:
5数量:0
住所:
氏名:
電話:
備考:

といった感じで、規則的なテキストファイルですが
メールに編集するときに、コピペで作業するのが面倒です。

エクセルやワードの機能などで、返信用メール文書を自動
編集させたいのですが、可能でしょうか?
テキストファイルを整形するだけでもかまいません。
(あとはメールにコピペしますので。)
マクロで作成する場合は、ヒントをください。
また、フリーソフト等で自動編集が実現できるものがあれば
教えてください。
よろしくお願いいたします。

A 回答 (2件)

質問の意味が正確に把握できませんが、



 列1      列2   列3  列4・・・
1注文コード   123    234
1商品名     納豆   納豆
1サイズ     中    大
1数量      10    5
となっているなら、
コピーして、「型式を選択して貼り付け」の時に、下の方にある「行列を入れ替える」ではどうですか?
住所、氏名・・・は、その後にコピーする。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
スキルの低い人でも簡単にできればと
思いましたが、回答のような方法を
マクロ化しておけば、誰でも短時間に
編集できそうです。検討してみます。

お礼日時:2007/09/24 20:04

したい内容からして、また「自動」ということからして、エクセル・ワードの操作ではできないと思います。


ーー
エクセルがあれば、エクセルVBAで、本来VBの課題に近い、テキストファイルの処理ができる可能性が多い。
ーー
ただ、CSVファイルはその点明確なのだか、テキストファイルは、レコードの持ち方が、本件の場合明確でなく、またターゲットの「返信用メール文書」の様式が明確でないため、プログラム例がかけない。
Sub test01()
Open "C:\Documents and Settings\XXX\My Documents\dddprn.txt" For Input As #1
While Not EOF(1)
Line Input #1, a
MsgBox a
Wend
Close #1
End Sub
のようなプログラムを、
・エクセルVBEの標準モジュールに張り付け
・当該テキストファイルのフルパスの部分を質問者の場合に合わせて上記コードを変更し
・実行して
どういう表示が出るか
判れば、プログラムの組みようが判る。
質問のように項目内容だけでは、組めない。
テキストファイルの、復帰改行コードから次のそれまでを1レコードとして捉えるのだか、その1レコードの項目内容が、色々の場合が考えられるから。
上記の部分で言っていることが、良くわからないなら、本回答は無視せざるを得ないが、その場合は、課題の解決は難しいでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。説明が悪くてすみません。
自動ではなく、簡易にできれば大丈夫です。
":"を区切りとして、エクセルの1列目に項目名、2列目に
入力データを読み込み、下記のような状態から
  列1    列2
1注文コード  123 
1商品名    納豆
1サイズ    中
1数量     10

列2だけを横につなぐように編集し、住所氏名等は、
ほとんどそのままでOKです。

最終的には
123 納豆 中 10
234 納豆 大 5
住所
氏名
電話
備考
となればOKです。
VBは多少わかりますので、横につなげる方法を
特に教えていただければ幸いです。

お礼日時:2007/09/24 14:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!