現在、下記コードでメールに添付されている添付ファイルを
保存するという事を行っておりますが
下記コードですと、現在メールが保管されているフォルダと同じ
階層に添付ファイルが保存されます。
これを自分で指定したフォルダに保存するようにするには
どのようなコードにすればよいでしょうか?
' 許可されている拡張子
Set AllowedExtensions = CreateObject("Scripting.Dictionary")
AllowedExtensions.Add "msg" , 0
Set args = WScript.Arguments
' 引数のチェック。対象ファイル以外が混ざっている場合終了。
set fobj = CreateObject("Scripting.FileSystemObject")
For Each arg In args
ext = fobj.GetextensionName(arg)
if not AllowedExtensions.Exists(ext) then
msgbox "msgファイル以外が指定されました。終了します。"
WScript.Quit
end if
Next
Set appOL = CreateObject("Outlook.Application")
For Each path In args
Set msg = appOL.CreateItemFromTemplate(path)
for each atc in msg.Attachments
atc.SaveAsFile path & "." & atc.DisplayName
next
Next
'File path & "." & atc.DisplayName
msgbox "抽出完了しました。"
No.1ベストアンサー
- 回答日時:
急いでたようですが、
こんな感じでは?
ご質問のVBScriptコードに手を加えました。
Set AllowedExtensions = CreateObject("Scripting.Dictionary")
AllowedExtensions.Add "msg", 0
Set args = WScript.Arguments
' 引数のチェック。対象ファイル以外が混ざっている場合終了。
Set fobj = CreateObject("Scripting.FileSystemObject")
For Each arg In args
ext = fobj.GetExtensionName(arg)
If Not AllowedExtensions.Exists(ext) Then
MsgBox "msgファイル以外が指定されました。終了します。"
WScript.Quit
End If
Next
Const SaveFolderPath = "C:\TEST\" ’追加、保存先アドレス。ここを変更してください。最後の¥忘れずに
Set appOL = CreateObject("Outlook.Application")
For Each Path In args
Set msg = appOL.CreateItemFromTemplate(Path)
For Each atc In msg.Attachments
atc.SaveAsFile SaveFolderPath & atc.Filename ’ここを変更しました
Next
Next
MsgBox "抽出完了しました。"
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
VB初心者です。メールから添付ファイルを取り出したいです。
Visual Basic(VBA)
-
VBScriptでのフォルダ指定ダイアログについて
Visual Basic(VBA)
-
VBS パスに変数を入れたい
その他(プログラミング・Web制作)
-
-
4
VBScriptでファイル保存先のデフォルト設定
Microsoft ASP
-
5
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
6
VBSでExcelシートのコピー
Visual Basic(VBA)
-
7
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
8
Vbscriptで自分自身のウィンドウを最大化するには?
Microsoft ASP
-
9
既定ファイルダウンロード先をマイドキュメントから任意のフォルダにかえたい
Windows Vista・XP
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
ステートメントの末尾が不正です
Windows Vista・XP
-
12
VBScriptでのSaveAsについて
Visual Basic(VBA)
-
13
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
14
VBS Bookを閉じるコード
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLファイルと、MHTファイルを...
-
【VBA】マクロの入ったファイル...
-
サポートされたファイル形式お...
-
Googleマップに保存した地点が...
-
PC内で速度を遅くした音源をCD...
-
PDFファイルの倍率を変えて保存...
-
ファイル数と合計サイズの取得方法
-
複数のブックを新しいブックのS...
-
個別に違う添付ファイルを付け...
-
「パスワードを保存しますか」...
-
ビデオファイルのプロパティの...
-
スマホでtxtファイルを編集する...
-
SDカードを挿してるのに挿入し...
-
拡張子「.IDJ」を、windo...
-
ITパスポートの一環で質問です...
-
ガラケーからPCへの写真の取り込み
-
透過処理をしたGIFファイル画像...
-
エクセルで「特定の文字を含む...
-
e-taxで送信ファイルの拡張子が...
-
画像をトリミングしてフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】マクロの入ったファイル...
-
VBSでファイルを指定のフォルダ...
-
Emacsで保存ができない
-
エクセルでファイルを閉じるボ...
-
HTMLでアンカーをはりPowerPoin...
-
リストボックスの保存方法を教...
-
WebBrowserにHTMLテキストを読...
-
eclipseの保管が押せない!
-
Android Studio 難しい
-
EXCEL/VBAでWORDファイル名の先...
-
python文字化けエラーが発生し...
-
RTFテキストの保存
-
HTMLファイルと、MHTファイルを...
-
fireworksでjpeg保存可?初心者...
-
VB 2005 色データの保存、読出...
-
VBからPDFファイルを開き方で質問
-
ダブルクォーテーション付きの...
-
UWSCでエクセルファイルのみを...
-
PictureControlのハンドルをCIm...
-
Visual studio2022についての質...
おすすめ情報