- ベストアンサー
メール内容を項目ごとに自動でエクセルに入力したい。
もらったメールの内容を 項目ごとに自動でエクセルに入力する方法を探しています。 メール内容は定型フォームが決まっているので、 プログラム的に判断することは可能だと思っています。 定型フォームとは以下のようなメールのことです。 ==================================== ●お名前 藤井 ●住所 大阪府 ●電話番号 090-***-*** ●メールアドレス *****@****.*** ●備考 こんにちは・・・ ・・・・・したいと思います。 ・・・・・ (↑行数不定) ==================================== UWSCなどを使って自動化することも考えたのですが、 内容の行数が違ったりして、不都合が起きます。 プログラム知識に疎いのでできるだけ簡単な方法が知りたいです。 できれば、こういった類を自動化するフリーソフトがあればいいんですが。。。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フリーソフトは知りませんがシェアウェアならこれはどうでしょうか? http://www.vector.co.jp/soft/win95/net/se439801.html 古いバージョンは安いです。 http://www.vector.co.jp/soft/win95/net/se205009.html
その他の回答 (1)
- fumufumu_2006
- ベストアンサー率66% (163/245)
vbaでクリップボード経由で取り込むのはどうでしょう。 例えば下のようなプログラムを用意します。 sheet1にコマンドボタンを配置します。 メールの ==================================== で囲まれた部分をコピーして、コマンドボタンを押します。 Private Sub CommandButton1_Click() Dim ws As Worksheet Set ws = Sheets("Sheet1") Dim cbdo As New DataObject Dim cbt As String Dim cbd() As String Dim row As Integer Dim col As Integer Dim line As Integer cbdo.GetFromClipboard cbt = cbdo.GetText If MsgBox(cbt, vbYesNo, "転送してもいいですか?") = vbYes Then '切り出し cbd = Split(cbt, vbCrLf) row = ws.Cells(ws.Rows.Count, 1).End(xlUp).row + 1 line = 0 '頭出し Do While line <= UBound(cbd) If cbd(line) = "====================================" Then Exit Do line = line + 1 Loop line = line + 1 'データ取り込み Do While line <= UBound(cbd) Select Case cbd(line) Case "●お名前": col = 1 Case "●住所": col = 2 Case "●電話番号": col = 3 Case "●メールアドレス": col = 4 Case "●備考": col = 5 Case "====================================": Exit Do Case Else If col > 0 Then ws.Cells(row, col) = ws.Cells(row, col) & cbd(line) & vbCrLf End If End Select line = line + 1 Loop '改行削除 For col = 1 To 5 Do If Right(ws.Cells(row, col), 2) = vbCrLf Then ws.Cells(row, col) = Left(ws.Cells(row, col), Len(ws.Cells(row, col)) - 2) Else Exit Do End If Loop Next End If End Sub ファイルになっていれば、Drag&Dropをできるコントロールを配置して、そこから取り込む方法もあります。 p.s. 上のプログラムはいそいで作ったので、エラーチェックやもろもろ適当です。
お礼
これまたすばらしいですね! UWSCと併用すれば完全自動化もできそうです。 ありがとうございます!
お礼
これはすばらしいソフトですね! ありがとうございます!