投稿日 | : 2007/04/19(Thu) 09:26 |
投稿者 | : ろん |
Eメール | : |
URL | : |
タイトル | : Re^2: 選択したフォルダを表示させるアプリの不具合について |
魔界の仮面弁士様
> > Type BROWSEINFO
> > hwnd As Long
> > pidlRoot As Long
> > pszDisplayName As String
> > myTitle As String
> > opFlags As Long
> > End Type
> BROWSEINFO ユーザ定義型の宣言が、
> BROWSEINFO 構造体と異なっていますね。これが最大の問題かと。
>
適切なご指摘ありがとうございます。
足りない?なくなった宣言を3つ追加し
正常稼動致しました。
> > Option Private Module
> Office の VBA (Visual Basic for Applications) をお使いなのでしょうか?
> 単体の VB6 (Visual Basic 6.0) をお使いなら、この宣言は無意味だと思いますが…。
>
単体のVB6 を使用しておりました。
勉強不足です。
>
> > With typBROWSEINFO
> オーナウィンドウなども指定しましょう。
>
はい、わかりました。
>
> > LngPit = SHBrowseForFolder(typBROWSEINFO)
> > If LngPit = 0 Then Call SHFree(LngPit): GetFolderPathName = "": Exit Function
> ここで、『Call SHFree(0)』を呼び出している理由は何ですか?
>
そうですね、おかしいです。
>
> > For xx = 1 To 256
> > If Mid(strPathName, xx, 1) = Chr(0) Then
> ループせずとも、InStr 関数を使えばすむのでは。
もう少し効率の良いものを作るように致します。
当初の問題が解決いたしました。
ありがとうございました。