tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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」の方ですよ。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。