No.3ベストアンサー
- 回答日時:
こんにちは。
Google 検索もしてみましたが、Excel VBAでは、あまり良いものがないようですね。あくまでも、VBAの処理ですから、それはそれなりにしたほうがよいですね。
Zip32j が必要です。
http://www.vector.co.jp/soft/win95/util/se062163 …
当然、Zip32.dll は入っているものと見なします。なお、以下は簡易な方法です。
ただ、ファイルネームが、ショートネームしか受けないようなので、そのまま、GetOpenFilename ダイアログでは、ロングネームで、Zip32側が、エラーを起こしてしまいます。
もし、本格的にお使いになるのなら、実際には、Shell.Application のショートネームプロパティなどをお使いになるとよいでしょう。
うまくいかなかったら、Debug.Print のコメント・ブロックを外して、イミディエイトウィンドウで、その内容を確認してください。
それから、詳しいコマンドは、Zip32jの中の、CMD_ZIP.TXT を確認してください。一番、コマンドの説明が分かりやすいです。
'標準モジュール
'Option Explicit
Private Declare Function Zip Lib "Zip32j" (ByVal hWnd As Integer, ByVal szCmdLine As String, ByVal szOutPut As String, ByVal dwsize As Integer) As Integer
Private Declare Function FindWindow Lib "USER32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub testZip()
'Zip32 による圧縮
Dim Filename As String
Dim strArchiveName As String
Dim strCommand As String
Dim RC As Long
Dim hWnd As Long
Dim strOutPut As String * 512
Dim lngSize As Long
'ハンドル取得
hWnd = FindWindow("XLMANI", Application.Caption)
'ファイル名取得
Filename = Application.GetOpenFilename("テキストファイル*.txt(*.txt),*.txt")
If Filename = "False" Then Exit Sub
Filename = Mid$(Filename, InStrRev(Filename, "\") + 1)
strArchiveName = Mid$(Filename, InStrRev(Filename, "\") + 1, InStrRev(Filename, ".") - InStrRev(Filename, "\") - 1) & ".zip"
strCommand = "-u " & strArchiveName & " " & Filename
lngSize = Len(strOutPut)
RC = Zip(hWnd, strCommand, strOutPut, lngSize)
'Debug.Print strOutPut
End Sub
これぞまさに求めていたものでした。取り急ぎNo.2のリンク先のVBSで対処しましたが、非常に参考になりました。どうもありがとうございました。
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- iPhone(アイフォーン) iPhone ファイル iPhoneのファイルで写真をzipに圧縮した後もう一度展開すると画質は変わ 3 2022/10/21 21:53
- ノートパソコン パソコンでmp4の動画ファイルを10個くらい(合計20GB)をフォルダに入れて、容量を軽くしてしまお 2 2023/02/06 02:08
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Windows 8 メール送信、zipファイル PDFについて 回答お願いいたします。 Windows8 メールはサクラ 1 2022/05/12 17:49
- PDF エクセルのVBAでファイルをpdfで保存するとソフトによっては開けなくなる 3 2022/06/08 10:20
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Android(アンドロイド) androidでzip圧縮してから転送できるファイラー 3 2022/12/11 10:22
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
フォントについて教えてください!
みなさんの一番好きなフォントは何ですか? よく使うフォントやこのフォント好きだなあというものをぜひ教えてください!
-
2024年に成し遂げたこと
今年も残すところわずか。 皆さんが今年達成したことを教えていただきたいです。 どんな小さなものでも構いません。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
「黒歴史」教えて下さい
若気のいたりでやってしまったけれど、いまとなっては封印したい… そんなあなたの黒歴史を教えて下さい。
-
【Excel VBA】Windowsの標準機能のみでExcelファイルをZIPファイルに圧縮する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルが作成できない
-
batファイル処理でのテキストフ...
-
テキストファイルを開かずに中...
-
Excelでdatファイルを作成??
-
複数のテキストファイルをexcel...
-
複数のテキストファイルをexcel...
-
テキストファイルの文字色に色...
-
一気にずばっと複数のメールを...
-
windowsへscp
-
エクスプローラのファイル名を...
-
JUMAN(日本語形態素解析...
-
【Excel VBA】PDFを作成して,...
-
【VC++6.0 MFC】画像表示について
-
iTunesでCDが作成できない!2回目
-
Microsoft Access エラー 3051
-
エクセルVBA フォームを開く時...
-
VBAでファイルパスが長すぎてコ...
-
ファイルやフォルダの有無、他...
-
FFFTPでサーバに新規フォルダが...
-
Excel VBA シートを指定して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでdatファイルを作成??
-
複数のテキストファイルをexcel...
-
バッチファイルが作成できない
-
テキストファイルの文字色に色...
-
batファイル処理でのテキストフ...
-
一気にずばっと複数のメールを...
-
ファイル名の特定文字だけ削除...
-
複数のファイルを同時検索し、...
-
CADでグラフ作成
-
複数のテキストファイルをexcel...
-
windowsへscp
-
VBSでテキストファイルのタブ区...
-
ExcelVBA テキストファイルから...
-
マクロでメモ帳に貼り付け
-
テキストファイルを開かずに中...
-
VBAからファイルをzip化したい
-
インデザインのテキスト流し込み
-
ヘルプファイルの翻訳
-
テキストファイルを分割したい...
-
エクセルにpdfのテキストを表示...
おすすめ情報