質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

0回答

1305閲覧

VBSでメールの書き出し

yuya_i

総合スコア10

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

1グッド

1クリップ

投稿2019/09/12 09:33

編集2019/09/12 11:04

前提・実現したいこと

初の質問です。
質問方法や、そもそもここで質問するのが間違いなど
ご指摘あれば、お願いいたします。

VBSで以下のようなことがしたいです。

Outlookから指定のメールを自分で選び
そのメールをドラックします。
そのメールをVBSにドロップすると
指定のエクセルシート(ここでは仮にデスクトップにあるTEST.xlsm)
のSheet1に、受信の日付と時間、差出人、件名、本文を
書き出したいです。
書き出す場所は上記順番で5項目ありますのでA1、A2、・・・A5
というようにしたいです。日付と時間は同じセルでも構いません。

また投げ込んだメールに添付ファイルがある場合は
そのファイルを指定のフォルダに保存したいです(ここでは仮にデスクトップのファイル保存 というファルダ)

このような事が出来るコードが知りたいです。
以下は参考で見つけたコードです。
このコードはoutlookで選択中のメールという条件ですが
これを、ドラック&ドロップしたメールという条件に変えることができれば
希望のことができそうなのですがわかりません。
ご教示をお願いします。

Option Explicit Dim objOA, objSelection, objOLFolder, objItm, objWS, objStm, objStm2 Dim I, Mystring, MyYesNo Mystring = "受信日時" & vbCrLf & "件名" & vbCrLf & "送信者"& vbCrLf & "本文" & vbCrLf Set objOA = CreateObject("Outlook.Application") Set objSelection = objOA.ActiveExplorer.Selection If objSelection.Count = 0 Then MsgBox "メールが選択されていません。" WScript.Quit Else MyYesNo = MsgBox(objSelection.Count & " 通のメールが選択されています。続けますか?", vbYesNo) If MyYesNo = vbNo Then WScript.Quit End If End If Err.clear On Error Resume Next For I = 1 To objSelection.Count set objItm = objSelection.Item(I) Mystring = Mystring & vbtab & objItm.ReceivedTime & vbCrLf & objItm.Subject & vbCrLf & objItm.Sender & vbCrLf & """" & Replace(objItm.Body, """", "”") & """" & vbCrLf Next On Error Goto 0 Set objStm = CreateObject("ADODB.Stream") objStm.Type = 2 objStm.Open objStm.Charset = "UTF-16" objStm.WriteText Mystring Set objStm2 = CreateObject("ADODB.Stream") objStm2.Type = 2 objStm2.Open objStm2.Charset = "Shift-JIS" objStm.Position = 0 objStm.CopyTo objStm2 objStm2.Position = 0 Mystring = objStm2.ReadText objStm.Close objStm2.Close Mystring = Replace(Mystring,"?" & vbCrLf & vbCrLf, vbCrLf) Mystring = Replace(Mystring,vbCrLf & "?" & vbCrLf, vbCrLf) Mystring = Replace(Mystring,vbCrLf & vbCrLf, vbCrLf) Set objWS = CreateObject("WScript.Shell") objWS.Exec("clip").StdIn.Write Mystring

試したこと

ネットで色々と調べてはみましたが
メールをドロップして実行させるやり方は見つかりませんでした。

dotnetuseryamag👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

alg

2019/09/12 09:42

「VBSで以下のようなことがしたいです。」とありますが、その内容が実現可能かどうかを知りたいのですか?実現する方法を事細かに知りたいのですか?実現できるコードが欲しいのですか? したいことについての何をお求めなのか、明記していただいたほうが良いと思います。
yuya_i

2019/09/12 09:44

ご指摘ありがとうございます。 実現できるコードが欲しいです。 よろしくお願いします。
alg

2019/09/12 09:48

この欄は「質問への追記・修正の依頼」ですので、それは質問に追記していただくようお願いします。ただ、「コードが欲しい」というのはteratailでは推奨されていない質問なので、避けたほうがよいです。推奨していない質問 https://teratail.com/help/avoid-asking や、質問するときのヒント https://teratail.com/help/question-tips などを参考にしてみてください。
yuya_i

2019/09/12 09:54

ありがとうございます。 質問を追加致しました。今回は似たようなコードがネット上におちていない為 参考となるコードが貼り付けられないので 丸投げという形になってしまうかもしれません。 今後の質問の際はこのような事がないようにしたいと思います。
alg

2019/09/12 10:04

「今回は」(略)「丸投げという形になってしまうかもしれません」とのことですが、今回であれ次回であれ丸投げは非推奨ですから、回答は付きにくいかもしれません。ご自分である程度コードを書いたうえで、ある処理の書き方がわからないとかある命令の意味が分からないとか、そういった具体的な質問のほうが、回答が付きやすいと思いますよ。
alg

2019/09/12 10:05

お求めの処理そのものズバリに近いコードはネット上に存在しないかもしれませんが、お求めの処理の部分部分についてはネットで検索するといろいろと書いてありそうです。まずはお求めの処理をいくつかの部品に分けてみて、その各部品について調べてみてはいかがでしょうか。それでも分からなければ部品をさらに細かい部品に分割してそれぞれ調べてみる、というステップを踏んでいくと、もしかしたら質問せずとも解決してしまうかもしれませんね。
yuya_i

2019/09/12 10:08

そうですね。もう少し自分で探ってみたいと思います。 いろいろとご指摘ありがとうございます。
otn

2019/09/12 11:58

そもそも、Outlookから別のアプリへ、メールをドラッグ&ドロップできるのですか?
yuya_i

2019/09/12 12:24

アプリにできるかはわかりませんが、デスクトップにはドラッグ&ドロップで落とせます。
otn

2019/09/12 12:26

> アプリにできるかはわかりませんが、 メモ帳にドロップしたらどうなりますか?
yuya_i

2019/09/12 12:42

メモ帳にドロップすることはできませんでした。 ネット上で、違うVBSですが、添付ファイルのついているメールを ドロップして、添付ファイルのみを名前を変更して指定のフォルダにに保存するというコードを見かけましたので、メールをVBSにドロップするのは可能だと思います。
otn

2019/09/12 12:50

> メモ帳にドロップすることはできませんでした。 どうなりましたか?
yuya_i

2019/09/12 12:55

なにも起きませんでした。メールドラックした状態でメモ帳の上に移動させても特になにも変わらず、ドラックを離すとデスクトップにメール(msg)が出来るだけです。
otn

2019/09/12 13:00

ではアプリにドロップするのは無理だということでしょう。
yuya_i

2019/09/12 13:02

そのようですね。 ただ私が今回が行いたいのは、VBSにドロップしたいので。 それが出来ればなんとかなりそうです。
otn

2019/09/12 13:06

?? だから、 > ではアプリにドロップするのは無理だということでしょう。 では? VBSはアプリじゃないと思っている??
yuya_i

2019/09/12 13:12

そうですね。 わかりました。色々とありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問