• ベストアンサー

毎日送られてくるデータをエクセルに自動的に入力できませんか?

hallo-2007の回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

No1です。 VBAをご存知のようなので、MS-OUTLOOKに入れるVBAをひとつ紹介しておきます。 OUTLOOKのVBエディター開いて以下、コピィしてみてください。 メールを受信添付ファイルを保存、確認のメールを返信までが自動になります。 準備として 受信の際に、データのメールの場合は、件名、或いは送信者名なので そのメールのみ 別のトレイへ移動するように自動仕訳のウィザードで 設定しておきます。 以下では、データのメール受信されると データフォルダ というフォルダを作成し移動する設定の場合です。 データフォルダのメールを参照して、添付ファイル名が 新規データ.xls の場合は A:へ保存してお礼のメールを返信します。 動作確認はしていませんが、VBAを順に確認してもらうと流れがわかるかと思います。 全てが必要ではないと思いますが、そちらの状況に合わせて設定してみてください。 Private Sub Application_NewMail() '新規メール受信時のイベント Dim myItem As Outlook.MailItem ' MailItemオブジェクト Dim myFolder As Outlook.MAPIFolder ' MAPIFolderオブジェクト Dim myNameSpace As Outlook.NameSpace ' NameSpaceオブジェクト ' NameSpaceオブジェクトの取得 Set myNameSpace = Application.GetNamespace("MAPI") ' 「受信トレイ」のオブジェクトを取得 Set myMailFolder = myNameSpace.GetDefaultFolder(olFolderInbox) ' 「データフォルダ」というサブトレイのオブジェクトを取得 Set myFolder = myMailFolder.Folders("データフォルダ") ' 「データフォルダ」フォルダ内のすべてのアイテム数ループ For i = 1 To myFolder.Items.Count ' MailItemオブジェクトを取得 Set myItem = myFolder.Items(i) ' 未読のメールのみに処理を行なう If myItem.UnRead = True Then ' 添付ファイルを保存 Set myAttachments = myItem.Attachments c = myItem.Attachments.Count For CLE = 1 To c If myAttachments.Item(CLE).DisplayName = "新規データ.xls" Then       'サンプルでは、添付ファイル名が新規データの名前の場合です。 myAttachments.Item(CLE).SaveAsFile "A:\" & myAttachments.Item(CLE).DisplayName 'サンプルではA:\に保存です。 MsgBox("新しいデータを保存しました", vbOKOnly, "データ保存") ' 返信用オブジェクトを作成 Set myReply = myItem.Reply ' 件名と本文を設定 myReply.Subject = "データを受け取りました" myReply.Body = "本日のデータ、確かに受け取りました。ありがとうございます" ' 返信を送信 myReply.Send End If Next ' メッセージを既読に設定 myItem.UnRead = False End If Next i End Sub

asahijp
質問者

お礼

返答ありがとうございます。 色々おしえていただき参考になりました。 マクロだと色々できてもっと勉強していきたいと思っております。

関連するQ&A

  • Excelでデータが何種類あるか知りたいのですが…

    こんばんは。 Excelで下記のような表があるとします。   A     B 1 注文者  注文品 2 甲さん  商品001 3 甲さん  商品002 4 乙さん  商品001 5 乙さん  商品003 6 乙さん  商品004 7 丙さん  商品002 ここで、A列に何種類のデータがあるかが知りたいのです。 (この場合、甲さん、乙さん、丙さんで注文者は「3」という数値を出したいのです。) 今はオートフィルタをかけ、リストボックスに何行表示されるか 数えています(^^;データ数が膨大なのでツライです。 なにか良い関数はないでしょうか? ちなみにExcel2000を使っています。よろしくお願いします。

  • Excelの関数式を教えてください。

    C1に入るExcelの関数式を教えてください。 A1には甲、乙、丙が入ります。B1は数値です。C1に数値の1.2%増しか1.2%減の数値を入れたいと思います。 条件は次の通りです。 『A1が甲または乙のとき、C1に1.2%増しの数値。A1が丙のとき、C1に1.2%減の数値。』 何卒、よろしくお願いいたします。

  • エクセルデータの転送防止

     甲がエクセルで作った文書を添付ファイルの形で乙に送る場合なのですが、秘密にしておきたいデータのため、乙が勝手に丙や丁に転送してしまい、後でしらばっくれられないように、乙に対して転送防止のブロック/ロック機能を付けて送付することはできますでしょうか?  エクセルに関する分厚い本を調べたのですが、データ改変に対してはロックできるようですが、転送防止については何も書かれていませんでした。  どなたか御存知の方(できないならそれを教えて下さっても構いません)、教えて下さい。関係あるかは分かりませんが、OSはWin98です。よろしくお願いします。

  • エクセルで、品物毎に詳細を纏めたい

    いつもお世話になっています。 早速ですが、下記のようなことをしたいのですが、エクセルでできるでしょうか?  sheet1  │ A  │ B  ----------------------- 1│品 名│ 詳細 ----------------------- 2│ 甲 │ a ----------------------- 3│ 乙 │ b ----------------------- 4│ 丙 │ c ----------------------- 5│ 乙 │ い ----------------------- 6│ 丙 │ う ----------------------- 7│ 甲 │ あ -----------------------    ↓  sheet2  │ A  │ B  ----------------------- 1│品名 │ 詳細  ----------------------- 2│ 甲 │ a ----------------------- 3│ 甲 │ あ ----------------------- 4│ 乙 │ b ----------------------- 5│ 乙 │ い ----------------------- 6│ 丙 │ c ----------------------- 7│ 丙 │ う ----------------------- A列に品名、B列にその詳細を入力します。 「品名甲~丙、それ以降」は、その時々で詳細が微妙に変わりますが、順番に入力していきますので、例えば詳細の変化した「甲」が下の方で追加されます。 それがsheet1です。 sheet1を基に「甲の詳細がどう変わったか?」を纏める表(sheet2)を作りたいのですが、 これが自動的に出来上がるような方法はあるでしょうか? sheet2の「Bの2」にsheet1を範囲にしたVLOOKUPを入れ、「Aの2」に「甲」と入れると「Bの2」には「a」と表示されます。 が、「Bの2」をドラッグして「Aの3」に「甲」と入れても「Bの3」には「a」と表示され「あ」は表示されません。 「Bの3」には「あ」と表示したい、つまりsheet2は品名ごとに詳細を上下に纏めた一覧表にしたいのですが、その方法について何か良い知恵はございませんでしょうか? 関数には拘っておらずマクロでも何でも構いませんので、お知恵をお持ちの方がいらっしゃいましたらご教示下さい。

  • エクセルで複数条件当てはまる対象の個数を数えるには?

     countifは、一つの検索条件でしか数えられないと思いますが、複数の条件に該当するセルの個数を数える関数はあるのでしょうか?  2万件程度のデータから検索する必要がありまして、よろしくお願いします。  趣旨は、以下のとおりです。 ---------------  種別1 種別2  a    甲 b    乙 b    甲 c    甲 c    丙 a    乙 ----------------  という一覧表から ----------------   甲 乙 丙 a  1  1  0 b  1  1  0 c  1  0  1 ----------------  のような個数の一覧表を作成したいということです。

  • 三者間での土地の交換 所得税の交換特例は受けられる?

    三者間での土地の交換 所得税の交換特例は受けられる? 甲・乙・丙がそれぞれ、A・B・Cの土地を持っています(それぞれ先祖代々伝わる土地です)。 甲:A 乙:B 丙:C という状況です。これを、三者間で交換して、 甲:B 乙:C 丙:A というふうにしたいのですが、所得税の交換特例を受けたいので、 まず、甲と乙が交換をして、 甲:B 乙:A 丙:C という状況にします。この年に甲と乙が所得税の交換特例を受けます。(丙はこの年は関係ありません) ここまでは問題ないと思います。 さて、 それから1年以上立ってから、乙と丙が交換をします。 すると、 甲:B 乙:C 丙:A というふうになります。この年に乙と丙が所得税の交換特例を受けることは可能でしょうか?乙は大丈夫だと思いますが、丙が受けられるかどうかがわかりません。 1回目の交換で乙が取得したA土地が「交換のために取得したもの」に該当してしまうのか否かが鍵だと思いますが、どうでしょうか? (なお、その他の交換特例の適用要件は満たしているものとします。)

  • エクセルのデーター集計

    エクセルのデーター集計について教えて下さい。 データーを集計する為、エクセルの データー → 集計 でデーターを集計すると項目毎の金額の列の下に合計が表示され、総計が同じく金額の列の一番下に表示されるといった形だと思いますが、(下記のように) A  1000 A  1000 A  1000 計 3000 B  1000 B  1000 計 2000 C  1000 C  1000 C  1000 計 3000 総計8000 この計及び総計を隣の列にくるようにはできないのでしょうか?宜しくお願いします。

  • 複数のExcelデータの集計

     複数の全く同じ商品の優劣状態を管理しているExcelがあります。  A列には、全く同じ商品名が2行目から300行ほど記載されており、B列からE列までの1行目に、甲・乙・丙・丁とランク名を記載してあります。  それぞれの社員に、その商品の個人主観にて、どこに当てはまるか○を記載してもらってます。  中には、甲と乙の両方など、どっちも判断つかない場合、複数の○が入力されてます(すぐ使えるものとして甲に○をつけたが、販売期限切れが近いので、売るにはちょっと待ったのように丁にも○といったケースもあります)。    これら複数のExcelにおいて、各商品の甲の数、乙の数、丙の数、丁の数がどれだけあるか、集計したいのですが、どのようにすればよいでしょうか?。  手でカウントするには時間がかかるのと、まだ未提出の社員もいるので、都度集計が楽な方法がいいです。

  • エクセルの数式

    エクセルの数式の質問です 例えば 佐藤さんがいて、その佐藤さんは甲項目はA、乙項目はB、丙項目はC、丁項目はAという評価だったとします。 会社の基準では、Aは10点、Bは5点、Cは1点と決められています。 この場合、佐藤さんの合計得点は26点になりますが、これを数式で一発で表したい場合、どのように数式を組み立てたらいいのでしょうか。 評価の欄にAやBを打ち込むだけで自動的に26点と出てくるようにしたいのですが・・・

  • 毎日、データとその数値の繰り返しがある(別の日だと同じデータがある)エ

    毎日、データとその数値の繰り返しがある(別の日だと同じデータがある)エクセル表で、1ヶ月分のピポットテーブルを作成しました。 その際に日付を指定せずにデータとその数値のみで作成したつもりなのですが、同じデータの件数が表示されて、毎日の数値合計を算出できません。 どうしたらよろしいでしょうか? ピポットの作り方を教えてください。 言葉でうまく説明できないのですが 4/1 A 100 4/1 B 200 4/1 C 300 4/2 A 200 4/2 D 500 だとすると A 300 B 200 C 300 D 500 となることを期待していますが、 A 2 B 1 C 1 D 1 とデータの個数が出てしまいます。 お手数ですがよろしく御願いいたします。