Excel VBA 質問スレッド №1988 (解決済)

64bit 化

投稿者 : ねこパティシエ     投稿日時 : 2024/08/10(Sat) 23:01:13     OS : Windows 11     EXCEL : 未指定
会社のシステムの64bit化を行っています
※Windows7→11

フォルダを選択するダイアログボックスを表示する箇所


Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
(ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" _
(lpBrowseInfo As BROWSEINFO) As Long
Declare Function GetDesktopWindow Lib "user32" () As Long
Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type
----------------------------------
Function GetFolder(Optional Msg) As String
    Dim bInfo As BROWSEINFO, pPath As String
    Dim R As Long, X As Long, pos As Integer   ★★★
    bInfo.pidlRoot = 0&
    If IsMissing(Msg) Then
        bInfo.lpszTitle = "フォルダの選択..."
    Else
        bInfo.lpszTitle = Msg
    End If
    bInfo.ulFlags = &H1
    X = SHBrowseForFolder(bInfo)          ★
    pPath = Space$(512)
    R = SHGetPathFromIDList(ByVal X, ByVal pPath)  ★★
    If R Then
        pos = InStr(pPath, Chr$(0))
        GetFolder = Left(pPath, pos - 1)
    Else
        GetFolder = ""
    End If
End Function



上部PtrSafe他追加でエラーは出ませんが
下部★において”型が違います”エラーが出ます
★★★のXをLong→LongPtrで★のエラーは回避
続いて★★に同じエラーが発生、
同じようにLongPtrではオートメーションエラーによりエクセルが落ちます

どうぞご教授願います

スポンサーリンク
[返信 1] Re : 64bit 化
投稿者 : tek     投稿日時 : 2024/08/11(Sun) 10:01:54
検索すると
https://learn.microsoft.com/ja-jp/archive/msdn-technet-forums/eaf2b8bc-d84f-4b98-9890-fdad67c852c3
がヒットしました。
あくまでdesktopからのみですが、動作しました。
win11

[返信 2] Re : 64bit 化
投稿者 : ねこパティシエ     投稿日時 : 2024/08/11(Sun) 21:21:09
ありがとうございます!
これで試してみます

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-06 05:48:45 )
タイトルとURLをコピーしました