• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:outlook2013 unZip VBA 解凍)

outlook2013のVBAによるメール添付ファイル(zip)の解凍方法

このQ&Aのポイント
  • outlook2013のVBAを使用してメールの添付ファイル(zip)を解凍する方法がわかりません。
  • 解凍後のファイルに名前を付ける方法を教えてください。
  • 解凍後のファイルに保存先フォルダとファイル名を指定する方法がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

簡単なところでは CreateObject("Shell.Application").shellexecute p_Path p_Pathでエクスプローラが開くので手入力変更 >解凍後のファイルに名前を付けたい場合 業務の前後の処理とか流れとか、圧縮ファイルの内容によって 色々に分岐しますので一概に『これっ』とは言えないかと。

perorintyo_ok
質問者

お礼

有難う御座います。手作業では使用しないようなフォルダ上に一旦解凍し、Dir関数で拾う処理に致しました。 確かに説明が少なかったと思いますが、ご回答有難う御座いました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBS 任意の名前でzip内のファイルを解凍したい

    VBSを使ってzipファイルの解凍を行う際に、解凍ファイルを任意の名前にしたいです。 現在以下の内容のvbsでzipファイルを解凍しています。 --------------------------------------------------------------- zippath = "C:\新しいフォルダー\test.zip" savepath = "C:\新しいフォルダー" Set objShell = CreateObject("Shell.Application") Set FilesInZip = objShell.NameSpace(zippath).items Set objFolder = objShell.NameSpace(savepath) If (Not objFolder Is Nothing) Then objFolder.CopyHere FilesInZip, FOF_NOCONFIRMATION + FOF_SILENT End If --------------------------------------------------------------- 解凍自体は上手くいってるのですが、解凍したファイルの名前が統一されていない為、次の処理でスマートにファイルの指定ができません。 このファイル名を、 ・zipファイルと同じ名前(例えば「test.zip」なら「test.xlsx」など)にする。 ・任意の名前で解凍する。 ことは出来ないでしょうか。 ご回答よろしくお願いします

  • vbsでZIPファイルを特定のフォルダへ。その1

    http://d.hatena.ne.jp/haradago/20150402/p1 を参考に VBSでZIPファイルを特定のフォルダへ解凍しようとしているところです。 以下の記述の意味がわからないので解説お願いします。 --------------------------------------------------- '解凍するZIPファイル DIR_SOURCE = "C:\Users\a\Desktop\aaa.zip" '解凍先 DIR_DEST = "C:\Users\a\Desktop\解凍先" '定数 Const FOF_SILENT = &H04 '進捗ダイアログを表示しない。 Const FOF_NOCONFIRMATION = &H10 '上書き確認ダイアログを表示しない([すべて上書き]と同じ)。 'オブジェクト生成 Set objShell = CreateObject("Shell.Application") Set FilesInZip = objShell.NameSpace(DIR_SOURCE).items Set objFolder = objShell.NameSpace(DIR_DEST) '解凍 If (Not objFolder Is Nothing) Then objFolder.CopyHere FilesInZip, FOF_NOCONFIRMATION + FOF_SILENT End If msgbox "解凍がおわったよ" ----------------------------------------------------------- 上記のVBSを実行すると デスクトップ上に ある aaa.zip が 解凍先 という名のフォルダのなかに 解凍されます。 「解凍がおわったよ」というメッセージも表示されます。 なぜ動くのかがわからないです。 ------------------------------- 'オブジェクト生成 Set objShell = CreateObject("Shell.Application") Set FilesInZip = objShell.NameSpace(DIR_SOURCE).items Set objFolder = objShell.NameSpace(DIR_DEST) ----------------------------------- の意味がわかりません。  オブジェクト メソッド プロパティ の意味はなんとなく程度です。 動物にたとえるならば、   犬・・・・オブジェクト   メソッド・・・・吠える、走る    プロパティ 犬の重さ 大きさ   という感じです。 Set objShell = CreateObject("Shell.Application") の意味なんですが、 ウィンドウズパソコンに入っているソフトを使うときによく出てくるんですが そうゆうもんだと 思っとけばいいんですかね?  たとえば  Set FilesInZip = objShell.NameSpace(DIR_SOURCE).items Set objFolder = objShell.NameSpace(DIR_DEST) この2行の意味ってなんでしょうか? google で NameSpace vbs で調べてはいるんですが、 さっぱりわからないです。 最終的には  解凍.vbs ってアイコンに 解凍したいzipファイルをドロップしたら、指定するフォルダへ 解凍ファイルを放り込むスクリプトを作ろうとしてます。 

  • unzipで解凍先のパスを指定できますか?

    unzipコマンドで、解凍先のディレクトリを指定することは可能でしょうか? unzip /home/a/test /home/b/test.zip 以下の例ではbさんのzipをaさんの下に解凍したいのですが testというファイルがないというエラーになりました。 http://itpro.nikkeibp.co.jp/linux/command/unzip.shtml を見たらできそうですが指定方法がわかりませんでした。

  • Namespaceの引数について

    VBA超初心者です。  指定したフォルダーの中のファイルの詳細をエクセルに落とすマクロを作成しているのですが、ファイルダイアログで指定したパスがNamespaceの引数にうまく渡せません。たぶん型が違うか何かだと思うのですが、ご存知の方ご教授願えれば幸いです。   Set SHell = CreateObject("Shell.Application") Set Folder = SHell.Namespace("C:\Users\")                    ↓ Set Folder = SHell.Namespace(Target_Dir)  直接pathを書き込むと問題なく動作するのですが、変数で引き渡すとエラーになります。型が違う?初心者でもわかるように解説していただけると助かります。

  • 【UNIX】unzip がcron で作動しない

    さくらインターネットのCRON機能で cd (対象ディレクトリ); /usr/local/bin/php -f (phpの名前)コマンドで PHPを自動的に実行しています。 その PHPには system("cd /zipファイルのあるパス/; unzip -Z hoge.zip"); というコマンドが実行されるようになっています。 (本来は、zipの解凍をしたいのですがテスト的にまず、ファイルの内容を表示) このphpを直接ブラウザ上で実行する場合は、うまく動くのですが CRON上で動かした場合は、unzip: not found というエラーが帰ってきます。 また、CRONのコマンド実行フォームにphp実行コマンドではなく、直接 "cd /zipファイルのあるパス/; unzip -Z hoge.zip" を実行しても unzip: not found が出てきてしまいます。 /home/[ユーザー名]/www/・・・と 絶対パスを指定しているので、パスは合っているかと思います。 unzip コマンドを実行するには予め何かを実行しないといけないのでしょうか? 何故、unzip: not found が出てしまうのか アドバイスよろしくお願いいたします。 サーバーOSバージョン FreeBSD 7.1-RELEASE-p16 i386

  • VBAで解凍処理

    お世話になります。 VBA初心者です。 VBAでUNZIP32.DLL を利用し解凍を行なう処理を したいんですが、 一つのZIPファイルをを指定して解凍するのではなく、 あるフォルダの中に存在するZIPファイルを一回で 全て解凍するような処理はできないでしょうか? できるならやり方を教えて頂けませんか? 何卒、よろしくお願いします。

  • 【Excel VBA】選択フォルダへの相対パス

    色々なサイトを参考に、Excel VBAにて以下の様なロジックを作りました。 -------------- Dim SHELL, MYPATH Dim TARGETDIR As String Set SHELL = CreateObject("Shell.Application") Set MYPATH = SHELL.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, ThisWorkbook.Path) If MYPATH Is Nothing Then End TARGETDIR = MYPATH.items.Item.Path Set SHELL = Nothing Set MYPATH = Nothing -------------- ブックのあるパス配下のフォルダを選択して、フルパスを"TARGETDIR"に格納します。 質問は2つです。 (1)"~.items.Item.Path"の構文の意味を教えて下さい。 (2)フルパスではなく"ブックのあるパスから見た、選択したフォルダへの相対パス"を知る方法を教えて下さい。 よろしくお願いします。

  • VBScriptでFTP転送したファイルを削除

    VBScriptでFTP転送したファイルの削除は可能でしょうか。 以下のURLを参考に、VBSでファイルをFTP転送するプログラムを作成しています。 https://esoro.jp/?p=128 このプログラムでサーバに転送したファイルを、 同じソース内で削除したいのですが、可能でしょうか。 ----ソース---- 'FTP送信指定 Const HostName = "xxx.xxx.xxx.xxx" Const UserID = "userid" Const UserPass = "password" Const DestDir ="Upload" Dim strDest,strSrc, UpFileName, UpFileSize, oSH, objDest strSrc="D:\log\temp" strDest = "ftp://" & UserID & ":" & UserPass & "@" & HostName & "/" & DestDir Set oSH = CreateObject("Shell.Application") Set objDest = oSH.NameSpace(strDest) For Each objItem In oSH.NameSpace(strSrc).Items UpFileName = objItem.Name UpFileSize = objItem.Size objDest.CopyHere objItem, &H04 + &H10 Next ------------- 転送は問題なく動いています。 CopyHereの部分をDELETEFILEやDELETEに変更したりして実行してみましたが、 上手くいきませんでした。 ご存じの方がいらっしゃれば、ご教示をお願い致します。

  • unzip32.dllの利用について(64bit)

    unzip32.dllをプログラムから呼び出しZIPファイルを解凍していたのですが、 64bitOSになった場合は、どうすればよいのでしょうか? unzip32.dllの64ビット版はあるのでしょうか? テストで使用しているWindows7(x64)では、動作しているのですが、 ちょっと不安になり質問しました。 よろしくお願いします。

  • VB.NETでUnzip32.DLLを使うには?

    VB2005または2008でUnzip32を使ってzipファイルを解凍する方法を教えてください。 Unzip32のバージョンは5.42、OSはXP32bitSP3です。 UnZipGetVersionではきちんとバージョンが返ってきますので、DLL自体には問題はないと思います。 Classの下に Public Declare Function UnZip Lib "unzip32.dll" (ByVal hwnd As Long, ByVal szCmdLine As String, ByVal szOutput As String, ByVal dwSize As Long) As Long を記述し、 UnZip(0, "-o C:\01.zip E:\", vbNull, 0) と命令してもコンパイラエラーになってしまいます。 第二引数のC:\01.zipはちゃんと存在するファイルであることを一応書き添えておきます。 引数の記述がおかしいと思うのですが、Unzip32のドキュメントを読んでも解決できません。 一日中ぐぐってもVB2005以降での構文サンプルも見つかりませんでした。 UnzioExtractでも引数の説明が意味不明で解凍できませんでした。 できましたら第一から第四までの引数になにを入れたらいいのか、 具体的に指示していけたらありがたいです。 よろしくお願いします。

このQ&Aのポイント
  • つつじなどをチェーンソーで切るのは危険ですか?長袖長ズボンや安全装備などで安全を確保しながら行う必要があります。
  • 細い枝が無数にあるような木を思い切りチェーンソーで切ることは可能ですが、安全に注意する必要があります。
  • チェーンソーで切る際には、長袖長ズボン、帽子、ゴーグル、軍手などの安全装備が必要です。また、飛び散る木くずやチェーンソーの反動にも注意が必要です。経験者のアドバイスを参考にすると良いでしょう。
回答を見る