+ Reply to Thread
Results 1 to 11 of 11

64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

  1. #1
    Valued Forum Contributor
    Join Date
    08-29-2012
    Location
    In lockdown
    MS-Off Ver
    Excel 2010 (2003 to 2016 but 2010 for choice)
    Posts
    1,766

    64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    I've been using Rob Bovey/Stephen Bullens API Folder Picker for a while now however it isn't 64 bit compatible. So I am trying to convert all API procedures & User Types and I think I only have one left to do.

    I need a 64 bit version of the following API:

    Please Login or Register  to view this content.
    It's not in the MS API PtrSafe document so where do I find this?
    *******************************************************

    HELP WANTED! (Links to Forum threads)
    Trying to create reusable code for Custom Events at Workbook (not Application) level

    *******************************************************

  2. #2
    Registered User
    Join Date
    11-12-2014
    Location
    New York
    MS-Off Ver
    2010
    Posts
    28

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Have you checked this place?

    http://www.jkp-ads.com/Articles/apideclarations.asp

    I haven't tried his code:
    Please Login or Register  to view this content.

  3. #3
    Forum Expert romperstomper's Avatar
    Join Date
    08-13-2008
    Location
    England
    MS-Off Ver
    365, varying versions/builds
    Posts
    22,017

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Quote Originally Posted by mc84excel View Post
    It's not in the MS API PtrSafe document so where do I find this?
    Just to clarify, it is in that document, but as SendMessage. The only reason they chose to name it SendMessageString is that they changed the lParam argument to String from Any.
    Everyone who confuses correlation and causation ends up dead.

  4. #4
    Forum Expert Bob Phillips's Avatar
    Join Date
    09-03-2005
    Location
    Wessex
    MS-Off Ver
    Office 2003, 2010, 2013, 2016, 365
    Posts
    3,284

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Why would you bother persisting with that horrible API folder picker, instead of using Application.FileDialog(msoFileDialogFolderPicker)?

  5. #5
    Forum Expert romperstomper's Avatar
    Join Date
    08-13-2008
    Location
    England
    MS-Off Ver
    365, varying versions/builds
    Posts
    22,017

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Because the easy option is never the right one for some...

  6. #6
    Valued Forum Contributor
    Join Date
    08-29-2012
    Location
    In lockdown
    MS-Off Ver
    Excel 2010 (2003 to 2016 but 2010 for choice)
    Posts
    1,766

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Quote Originally Posted by romperstomper View Post
    Because the easy option is never the right one for some...
    now now - if we always chose the easy option, how would we ever learn?

  7. #7
    Valued Forum Contributor
    Join Date
    08-29-2012
    Location
    In lockdown
    MS-Off Ver
    Excel 2010 (2003 to 2016 but 2010 for choice)
    Posts
    1,766

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Quote Originally Posted by Bob Phillips View Post
    Why would you bother persisting with that horrible API folder picker, instead of using Application.FileDialog(msoFileDialogFolderPicker)?
    Good to hear from you again (I'm now a heavy user of custom ribbons since you last helped me )

    I use that one as well. In fact I have three(!) different folder pickers that I regularly use (one based on the FileDialog, an API picker by Bullen/Bovey and an API picker adapted from J Walkenbach)

    As for why would I persist with the Bullen/Bovey API folder picker? Fair question. It has a few advantages over the FileDialog method:
    1. You have the option of adding a 'Create New Folder' button to the picker
    2. You have the option of adding a custom message to the picker
    3. Lastly - and this is the main reason why I prefer the API version in non-personal projects - I have had end-users confused by the FileDialog picker! I kid you not. Some people just don't grasp that they need to drill to the folder, or when they do - they drill into the folder they want and wind up inadvertently selecting a sub-folder. I haven't had any negative feedback on the API version - which I put down to the fact that it looks and acts like the familiar Folder Tree.
    Last edited by mc84excel; 01-14-2015 at 07:32 PM.

  8. #8
    Valued Forum Contributor
    Join Date
    08-29-2012
    Location
    In lockdown
    MS-Off Ver
    Excel 2010 (2003 to 2016 but 2010 for choice)
    Posts
    1,766

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Quote Originally Posted by romperstomper View Post
    Just to clarify, it is in that document, but as SendMessage. The only reason they chose to name it SendMessageString is that they changed the lParam argument to String from Any.
    Ah ha. That explains it. Thanks Rory +1

  9. #9
    Valued Forum Contributor
    Join Date
    08-29-2012
    Location
    In lockdown
    MS-Off Ver
    Excel 2010 (2003 to 2016 but 2010 for choice)
    Posts
    1,766

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    I've added 64 bit versions of the APIs and UDT. Is that all I need to do to make it 64 bit compatible? Do I need to change any of the Long variables to LongPtrs for instance?

    I don't have access to any 64 bit version of Excel to test this on (I installed 32 bit by choice - and will keep doing so until there is a 64 bit version of MZTools!) Is there any 64 bit user who wants to volunteer to test it?

  10. #10
    Forum Expert romperstomper's Avatar
    Join Date
    08-13-2008
    Location
    England
    MS-Off Ver
    365, varying versions/builds
    Posts
    22,017

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    Yes you need to declare the relevant Longs as LongPtr, using conditional compilation.

  11. #11
    Valued Forum Contributor
    Join Date
    08-29-2012
    Location
    In lockdown
    MS-Off Ver
    Excel 2010 (2003 to 2016 but 2010 for choice)
    Posts
    1,766

    Re: 64 bit API query-SendMessageString (Upgrading Bovey/Bullen Folder Picker)

    It's extremely difficult to upgrade a module to 64 bit compatibility when you only have 32 bit installed!

    I was using a PC the other day with 64 bit Office so I tested this module on it. Using 64 bit made it much easier to see any variables I had overlooked!

    IDK if it is fully upgraded now but it no longer issues a compile error on 64 bit so I'll mark this thread solved.

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Folder picker breaks for Mac
    By skania in forum For Other Platforms(Mac, Google Docs, Mobile OS etc)
    Replies: 0
    Last Post: 05-14-2013, 11:59 AM
  2. Upgrading Excel 2003 workbook with MS Query Macros to 2010
    By jpw2 in forum Excel Programming / VBA / Macros
    Replies: 0
    Last Post: 03-19-2012, 06:14 PM
  3. Time & Date Picker query
    By ngee in forum Excel - New Users/Basics
    Replies: 1
    Last Post: 11-23-2011, 03:49 PM
  4. Setting wks name in Project Explorer (Bullen,Bovey,Green)
    By John Keith in forum Excel Programming / VBA / Macros
    Replies: 4
    Last Post: 10-17-2005, 09:05 PM
  5. [SOLVED] SendMessageString ...Maybe !!??
    By RAFAAJ2000 in forum Excel Programming / VBA / Macros
    Replies: 1
    Last Post: 07-18-2005, 01:05 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1