Reference X++ code
FileName FileName;
FileNameFilter Filter = ["CSV file", "*.csv"];
#WinAPI
;
FileName = winapi::getSaveFileName(infolog.hWnd(), filter, WinAPI::getFolderPath(#CSIDL_Personal), "Save as CSV file","csv",element.design().caption());
if(!FileName)
return ;
/*
* Predefined folders
*/
#define.CSIDL_DESKTOP (0x0000) // <desktop>
#define.CSIDL_INTERNET (0x0001) // Internet Explorer (icon on desktop)
#define.CSIDL_PROGRAMS (0x0002) // Start Menu\Programs
#define.CSIDL_CONTROLS (0x0003) // My Computer\Control Panel
#define.CSIDL_PRINTERS (0x0004) // My Computer\Printers
#define.CSIDL_PERSONAL (0x0005) // My Documents
#define.CSIDL_FAVORITES (0x0006) // <user name>\Favorites
#define.CSIDL_STARTUP (0x0007) // Start Menu\Programs\Startup
#define.CSIDL_RECENT (0x0008) // <user name>\Recent
#define.CSIDL_SENDTO (0x0009) // <user name>\SendTo
#define.CSIDL_BITBUCKET (0x000a) // <desktop>\Recycle Bin
#define.CSIDL_STARTMENU (0x000b) // <user name>\Start Menu
#define.CSIDL_DESKTOPDIRECTORY (0x0010) // <user name>\Desktop
#define.CSIDL_DRIVES (0x0011) // My Computer
#define.CSIDL_NETWORK (0x0012) // Network Neighborhood
#define.CSIDL_NETHOOD (0x0013) // <user name>\nethood
#define.CSIDL_FONTS (0x0014) // windows\fonts
#define.CSIDL_TEMPLATES (0x0015)
#define.CSIDL_COMMON_STARTMENU (0x0016) // All Users\Start Menu
#define.CSIDL_COMMON_PROGRAMS (0x0017) // All Users\Programs
#define.CSIDL_COMMON_STARTUP (0x0018) // All Users\Startup
#define.CSIDL_COMMON_DESKTOPDIRECTORY (0x0019) // All Users\Desktop
#define.CSIDL_APPDATA (0x001a) // <user name>\Application Data
#define.CSIDL_PRINTHOOD (0x001b) // <user name>\PrintHood
#define.CSIDL_Local_AppData (0x001d) // <user name>\Local Settings\Applicaiton Data (non roaming)
#define.CSIDL_COMMON_ALTSTARTUP (0x001e) // non localized startup
#define.CSIDL_COMMON_FAVORITES (0x001f) // non localized common startup
#define.CSIDL_INTERNET_CACHE (0x0020)
#define.CSIDL_COOKIES (0x0021)
#define.CSIDL_HISTORY (0x0022)
#define.CSIDL_COMMON_APPDATA (0x0023) // All Users\Application Data
#define.CSIDL_WINDOWS (0x0024) // GetWindowsDirectory()
#define.CSIDL_SYSTEM (0x0025) // GetSystemDirectory()
#define.CSIDL_PROGRAM_FILES (0x0026) // C:\Program Files
#define.CSIDL_MYPICTURES (0x0027) // C:\Program Files\My Pictures
#define.CSIDL_PROFILE (0x0028) // USERPROFILe
#define.CSIDL_SYSTEMX86 (0x0029) // x86 system directory on RISc
#define.CSIDL_PROGRAM_FILESX86 (0x002a) // x86 C:\Program Files on RISc
#define.CSIDL_PROGRAM_FILES_COMMON (0x002b) // C:\Program Files\Common
#define.CSIDL_PROGRAM_FILES_COMMONX86 (0x002c) // x86 Program Files\Common on RISc
#define.CSIDL_COMMON_TEMPLATES (0x002d) // All Users\Templates
#define.CSIDL_COMMON_DOCUMENTS (0x002e) // All Users\Documents
#define.CSIDL_COMMON_ADMINTOOLS (0x002f) // All Users\Start Menu\Programs\Administrative Tools
#define.CSIDL_ADMINTOOLS (0x0030) // <user name>\Start Menu\Programs\Administrative Tools
#define.CSIDL_CONNECTIONS (0x0031) // Network and Dial-up Connections