タイトル : Re: CreateObjectにてShell32を使用してZIPが展開されない。 投稿日 : 2008/12/01(Mon) 17:07 投稿者 : 魔界の仮面弁士
> sc = CreateObject("Shell.Application") unzip32.dll や #ziplib を使った方が良いんじゃないかな…。 http://dobon.net/vb/dotnet/links/createzipfile.html > 通常はObjectで問題なく処理出来ているように見えましたので、 細かい事情を端折って言えば、『ByRef』と『ByVal』の違いによる物です。 この場合は、CallByName を使って呼び出してください。 CallByName(destFlder, "CopyHere", vbMethod, items, FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOCONFIRMMKDIR) もしくは、 destFlder.CopyHere((items), FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOCONFIRMMKDIR) のように、「変数」を括弧で囲んで、「式」として渡すようにしてみてください。 > Shell32.DLLは1MBもあり、配布を避けるために、 最近のバージョンだと 8MB 近くありますけれどね。 http://support.microsoft.com/dllhelp/?dlltype=file&l=55&alpha=shell32.dll&S=1 ただし、Shell32.DLL は配布してはいけませんし、配布する必要もありません。 配布すべきは、参照設定によって自動生成される「Interop.Shell32.dll」の方ですよ。 |