
下記のマクロはネットから参照したマクロで、マクロを実行すると指定フォルダが圧縮できます。
このマクロでが圧縮対象のフォルダを
targetPath = "C:\Users\160931\Desktop\ファイル更新(最新)\テスト物件\12345678-5_交付用"
'作成するZIPファイルのパスを
zipFilePath = "C:\Users\160931\Desktop\ファイル更新(最新)\テスト物件\12345678-5_交付用.zip"
に指定しておりますが、
この指定を
マクロ設定ブックと同じフォルダ内にある、フォルダ「12345678-5_交付用」に変更出来る方法を教えてください。
尚、圧縮対象フォルダは1つしか無く、「_交付用」は固定フォルダ名になりますが、
「_交付用」から前の部分(12345678-5)は物件毎に変更になる為、
' フォルダ名が「8桁の英数字-1_交付用」というパターンに一致する場合
If folderName Like "########-#_交付用" Then
のような設定を希望いたします。
現状のマクロ
Sub フォルダを圧縮()
Dim targetPath As String
Dim zipFilePath As String
Dim psCommand As String
Dim wsh As Object
Dim result As Integer
'ZIP形式で圧縮するフォルダ(またはファイル)パスを指定
targetPath = "C:\Users\160931\Desktop\ファイル更新(最新)\テスト物件\12345678-5_交付用"
'作成するZIPファイルのパスを指定
zipFilePath = "C:\Users\160931\Desktop\ファイル更新(最新)\テスト物件\12345678-5_交付用.zip"
'実行するPowerShellのコマンドレットを組み立て
psCommand = "powershell -NoProfile -ExecutionPolicy Unrestricted Compress-Archive -Path " & targetPath & " -DestinationPath " & zipFilePath & " -Force"
Set wsh = CreateObject("WScript.Shell")
'PowerShellのコマンドレットを実行
result = wsh.Run(Command:=psCommand, WindowStyle:=0, WaitOnReturn:=True)
If (result = 0) Then
MsgBox ("圧縮が正常終了しました。")
Else
MsgBox ("圧縮が異常終了しました。")
End If
'後片付け
Set wsh = Nothing
End Sub
以上となります。
宜しくお願い致します。

No.1ベストアンサー
- 回答日時:
以下のようにしてください。
Sub フォルダを圧縮()
Dim targetPath As String
Dim zipFilePath As String
Dim psCommand As String
Dim wsh As Object
Dim result As Integer
Dim folname As String
folname = Dir(ThisWorkbook.path & "\" & "????????-?_交付用", vbDirectory)
If folname = "" Then
MsgBox ("該当フォルダなし")
Exit Sub
End If
'ZIP形式で圧縮するフォルダ(またはファイル)パスを指定
targetPath = ThisWorkbook.path & "\" & folname
'作成するZIPファイルのパスを指定
zipFilePath = targetPath & ".zip"
'実行するPowerShellのコマンドレットを組み立て
psCommand = "powershell -NoProfile -ExecutionPolicy Unrestricted Compress-Archive -Path " & targetPath & " -DestinationPath " & zipFilePath & " -Force"
Set wsh = CreateObject("WScript.Shell")
'PowerShellのコマンドレットを実行
result = wsh.Run(Command:=psCommand, WindowStyle:=0, WaitOnReturn:=True)
If (result = 0) Then
MsgBox ("圧縮が正常終了しました。")
Else
MsgBox ("圧縮が異常終了しました。")
End If
'後片付け
Set wsh = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
VBAのエラー表示の対処法について
Visual Basic(VBA)
-
-
4
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
5
Excelの数式について教えてください。
Visual Basic(VBA)
-
6
VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
7
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
8
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
9
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
10
算術演算子「¥」の意味について
Visual Basic(VBA)
-
11
VBAの「To」という語句について
Visual Basic(VBA)
-
12
【マクロ】変数を使った、文字の種類の変更にて、エラーとなる。
Visual Basic(VBA)
-
13
エクセルvbaの対象セルに色をつける 例えば a日付 b種類 c値段 dその他 にんじん 50 ぴー
Visual Basic(VBA)
-
14
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
15
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
16
修正依頼:【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
17
VBAのループ処理について教えてください
Visual Basic(VBA)
-
18
Excel マクロについて詳しい方、ご教示ください。 『行数が毎回変わる元データの、A列に「1」と入
Visual Basic(VBA)
-
19
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
20
VBAについて教えて下さい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
複数のExcelファイルをマージす...
-
vbsでのwebフォームへの入力制限?
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
エクセルの改行について
-
VBAでセルの書式を変えずに文字...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【ExcelVBA】5万行以上のデー...
-
VBA 入力箇所指定方法
-
VBA 円グラフ 特定条件に一致し...
-
ワードの図形にマクロを登録で...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAの「To」という語句について
-
VBAについて教えて下さい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録で...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字...
おすすめ情報