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

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

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

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

VBScript

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

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

Q&A

解決済

2回答

7281閲覧

VBScriptでzipを解凍したい

jikaidenn

総合スコア2

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

VBScript

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

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

0グッド

0クリップ

投稿2021/12/12 04:16

編集2021/12/12 05:00

VBSでzipファイルの解凍を行いたい

vbsでパスワードなしのzipファイルの解凍処理を行いたいです。
はじめにwordでこんにちは.docxというファイルを作成し、エクスプローラで右クリック後、「送る」から「圧縮(zip形式)フォルダ」を選択します。そして作成された、こんにちは.zipをvbsで解凍しようとしていますが、以下のエラーが出ます。

仮に、このソースコード以外にvbsでzip解凍が簡単にできる方法があれば教えていただきたいです。

発生している問題・エラーメッセージ

NameSpaceにオブジェクトがありません

該当のソースコード

VBScriprt

1Option Explicit 2 3Dim strFrom 4Dim strTo 5Dim objShell 6Dim FilesInZip 7Dim objFolder 8 9'解凍するZIPファイル 10strFrom = "C:\Users\Owner\Documents\こんにちは.zip" 11'解凍先 12strTo = "C:\Users\Owner\Documents\" 13 14'定数 15Const FOF_SILENT = &H04 '進捗ダイアログを表示しない。 16Const FOF_NOCONFIRMATION = &H10 '上書き確認ダイアログを表示しない([すべて上書き]と同じ)。 17 18'************************************************************** 19 20 'オブジェクト生成 21 Set objShell = CreateObject("Shell.Application") 22 23 Set FilesInZip = objShell.NameSpace(strFrom).items 24 Set objFolder = objShell.NameSpace(strTo) 25 26 '解凍 27 If (Not objFolder Is Nothing) Then 28 objFolder.CopyHere FilesInZip, FOF_NOCONFIRMATION + FOF_SILENT 29 End If 30 31

試したこと

NameSpaceのオブジェクトがありませんというエラーでしたので、オブジェクト作成してみましたが上手くいきませんでした。

補足情報(FW/ツールのバージョンなど)

使用しているパソコンはWindows10です。

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

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

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

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

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

xail2222

2021/12/12 04:47

'解凍するZIPファイル strFrom = "C:\Users\Owner\Documents" となっていますが、ここにzipファイル名を指定しても同じなのですか? それとも、そのフォルダにあるzipファイル全てを展開しようとしているのですか?
guest

回答2

0

ベストアンサー

それぞれの後にちゃんと値が取れているか確認しましょう。

VBScript

1 Set FilesInZip = objShell.NameSpace(strFrom).items 2 WScript.Echo typename(FilesInZip) 3 Set objFolder = objShell.NameSpace(strTo) 4 WScript.Echo typename(objFolder) 5 6 objFolder.CopyHere FilesInZip, FOF_NOCONFIRMATION + FOF_SILENT

Nothingなら、引数がおかしいです(存在しないパスを指定している)。

投稿2021/12/12 10:15

otn

総合スコア85783

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

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

0

strFrom に 解凍する ZIP ファイル名が指定されていない為ではないでしょうか?

VBScript

1'解凍するZIPファイル 2'strFrom = "C:\Users\Owner\Documents" 3strFrom = "C:\Users\Owner\Documents\こんにちは.zip"

投稿2021/12/12 05:02

cx20

総合スコア4646

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問