タイトルまんまですが(^^;
http://www.simple-sys.com/blog/mailtorikomi/
のコメントでいただきました内容について、サンプルで作ってみました。
BSMTP.DLLは今回も必要となります。上記の記事をご参考にインストールしてください。

設定する内容はこんな感じです。
メールを受信するとサーバー内のすべてのメールを削除してしまいますので、注意してください(受信対象メールであろうが無かろうが、添付ファイルがあろうが無かろうがです。)

テスト専用のメールアカウントを作成してお試しください。
「ダウンロード実行」のボタンを押すと

このように受信したメールを一覧で表示し、添付ファイルがあった場合は、その1つ目のデータを貼り付けます。

添付ファイルが複数ある場合や、画像ファイルではない場合、HTMLメールなどには一切対応していません。また、エラー処理も手抜きで作っていますので、実際にお使いになる際は、プログラムを修正して使ってください。

お約束ですが、このプログラムを使った事による一切の保証はございません。ご了承ください。
以下のリンクからダウンロードしてください。
phototorikomi.xls

http://q.hatena.ne.jp/1262665566

関数でもできるけど、VBAでやってみました。

vbastudy_28.xls
こちらをダウンロードして、開きます。

ツール→マクロ→Visual Basic Editorと開き、

saiseiみたいなボタンをクリック。

罫線、右寄せも同時にやってます(^^)

プログラムはこんな感じ。

Visual Basic:
  1. Sub test()
  2. Dim hyouAlastgyou As Integer
  3. Dim hyouAgyou As Integer
  4. Dim hyouBgyou As Integer
  5.  
  6. 'A列の最終行を求めます。
  7. hyouAlastgyou = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
  8.  
  9. '表Bを1行目から値を入れていくとします。
  10.  
  11. hyouBgyou = 1
  12.  
  13. 'A列が2行目からlastgyouまで入っているとして、
  14. 'それを1行ずつとっていきます。
  15.  
  16. For hyouAgyou = 2 To hyouAlastgyou
  17.  
  18.    ' hyouBgyou行目の8番目の列(H)に「品番」を代入します。
  19.     ActiveSheet.Cells(hyouBgyou, 8).Value = "品番"
  20.    ' hyouAgyou 行目 の 1番目の列(A列)の値を、hyouBgyou行目の9番目の列(I列)に代入します。
  21.     ActiveSheet.Cells(hyouBgyou, 9).Value = ActiveSheet.Cells(hyouAgyou, 1).Value
  22.  
  23.     '表Bを次の行に移します。
  24.     hyouBgyou = hyouBgyou + 1
  25.  
  26.    ' hyouBgyou行目の8番目の列(H)に「動物種類」を代入します。
  27.     ActiveSheet.Cells(hyouBgyou, 8).Value = "動物種類"
  28.    ' hyouAgyou 行目 の 2番目の列(B列)の値を、hyouBgyou行目の9番目の列(I列)に代入します。
  29.     ActiveSheet.Cells(hyouBgyou, 9).Value = ActiveSheet.Cells(hyouAgyou, 2).Value
  30.    ' hyouBgyou行目の9番目の列(I列)を右寄せにします。
  31.     ActiveSheet.Cells(hyouBgyou, 9).HorizontalAlignment = xlRight
  32.  
  33.     '表Bを次の行に移します。
  34.     hyouBgyou = hyouBgyou + 1
  35.  
  36.    ' hyouBgyou行目の8番目の列(H)に「色」を代入します。
  37.     ActiveSheet.Cells(hyouBgyou, 8).Value = "色"
  38.    ' hyouAgyou 行目 の 3番目の列(C列)の値を、hyouBgyou行目の9番目の列(I列)に代入します。
  39.     ActiveSheet.Cells(hyouBgyou, 9).Value = ActiveSheet.Cells(hyouAgyou, 3).Value
  40.    ' hyouBgyou行目の9番目の列(I列)を右寄せにします。
  41.     ActiveSheet.Cells(hyouBgyou, 9).HorizontalAlignment = xlRight
  42.  
  43.     '表Bを次の行に移します。
  44.     hyouBgyou = hyouBgyou + 1
  45.  
  46.    ' hyouBgyou行目の8番目の列(H)に「価格」を代入します。
  47.     ActiveSheet.Cells(hyouBgyou, 8).Value = "価格"
  48.    ' hyouAgyou 行目 の 5番目の列(E列)の値を、hyouBgyou行目の9番目の列(I列)に代入します。
  49.     ActiveSheet.Cells(hyouBgyou, 9).Value = ActiveSheet.Cells(hyouAgyou, 5).Value
  50.  
  51.  
  52.     '今現在の行から3行前の8番目の列(H列)から、今の行の9番目の列(I列)の部分に罫線を引きます。
  53.     ActiveSheet.Range(Cells(hyouBgyou - 3, 8), Cells(hyouBgyou, 9)).Borders.LineStyle = True
  54.  
  55.     '表Bを次の次の行に移します。
  56.     hyouBgyou = hyouBgyou + 2
  57.  
  58. '表Aを次の行に移します。
  59. Next hyouAgyou
  60.  
  61. End Sub

http://q.hatena.ne.jp/1236879956

400

こんな感じにしたいのかな?(^^;
Continue reading »

http://q.hatena.ne.jp/1209185751

とりあえず、

Excelのシート上のボタンを押すと、指定したURLのページの天気の画像と、最高気温を取ってみたいと思います。

ここんとこよく取り上げてる「スクレイピング」ですね。
Continue reading »

前回の続きです。

B列、C列の両方の項目を見て、重複しているものは最初のものを残して削除する、という感じです。
Continue reading »

このブログのリファラーを見ていると、あいかわらず「VBA Excel 重複行」で検索されてくる方が多いですね。

みなさん、そんなに重複行をどうにかしたいのでしょうか?(^^;)

重複行について、今までに書いたのは以下の記事です。

VBAのお勉強 Excelで重複行を探す

こちらは、複数の列で重複している値を探す、というものでした。

VBAのお勉強 VBAでExcelの重複した行を探して表示

こちらは、一つの列の中で重複している値を探す、というものでした。

ただ私の経験で、今までデータの重複行、うんぬんを考えるとき、「重複行をどうしたいのか?」で考えると、一番多いのは、

こんなデータがあったとき、B列で重複している行を1行だけ残して、削除してしまう、つまり、

こうしてしまいたい、という事のような気がします。違いますかね?(^^;)

名簿なんかで「同じ人がいたら1行残して後は消す」みたいな処理、多いと思うんですけど。

Continue reading »

 http://q.hatena.ne.jp/1207343267

例えば、

こんな、Excelファイルがあった時、B列に緯度、C列に経度を入れる。。。

緯度・経度を求めるには、例えばYahoo!さんなんかでは、APIが公開されてます。

ローカルサーチAPI
こちらを使えば、住所の文字列で問い合わせれば、結果がXMLで返ってきます。

その中に緯度・経度も含まれますので、そこからうまく抜き出せば、おっけいですね。

Googleさんでも、APIがあるみたいです。

Google Maps API
で、やはり、同じようにXMLで返ってくる?ようです。

これらを使えば、うまく出来そう(^^)、、、なんですが。
Continue reading »

こちらの記事について、カスタマイズ・設定のサポートを開始しました。詳しくはこちらをご覧ください。

以下の記事を参考に、「注文メールの内容をサーバーから受信しExcelに取り込む仕組みのサンプル」という記事を作成しています。よろしかったらどうぞ(^^)

http://q.hatena.ne.jp/1207249344

この手の「人間の代わりに自動的に処理する」系のプログラムは、好きだなぁ(^^;)

まず、このメールがどのような状態なのかがわからないので(テキストファイル?xlsの中に貼り付けてある?)

質問者さんの作られたプログラムを見てみると。。。

Set FR = Range(Selection, Cells(Rows.Count, Selection.Column).End(xlUp)).Find("*[商品]*", , xlValues)

ん、使ったことのない命令ばかり(^^;)
Continue reading »

http://okwave.jp/qa3915562.html

 233-01.jpg

こんなファイルだとします。

 ピンク色のところが変わったら、黄色いところを自動的に集計する。。。こないだやったイベントですね(^^)
Continue reading »

http://okwave.jp/qa3914462.html

 224-01.jpg

この状態のデータを、

 224-02.jpg

こうしたい、という事ですね。
Continue reading »

© 2011 simple blog いろいろ勉強中 Suffusion theme by Sayontan Sinha