diff --git a/AllLangHelp_sbasic.mk b/AllLangHelp_sbasic.mk index d87b5eb2b2..ea88a9d6fa 100644 --- a/AllLangHelp_sbasic.mk +++ b/AllLangHelp_sbasic.mk @@ -82,12 +82,13 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,sbasic,\ helpcontent2/source/text/sbasic/shared/03/sf_dialog \ helpcontent2/source/text/sbasic/shared/03/sf_dialogcontrol \ helpcontent2/source/text/sbasic/shared/03/sf_dictionary \ - helpcontent2/source/text/sbasic/shared/03/sf_exception \ - helpcontent2/source/text/sbasic/shared/03/sf_ui \ helpcontent2/source/text/sbasic/shared/03/sf_document \ + helpcontent2/source/text/sbasic/shared/03/sf_exception \ + helpcontent2/source/text/sbasic/shared/03/sf_filesystem \ helpcontent2/source/text/sbasic/shared/03/sf_session \ helpcontent2/source/text/sbasic/shared/03/sf_string \ helpcontent2/source/text/sbasic/shared/03/sf_timer \ + helpcontent2/source/text/sbasic/shared/03/sf_ui \ helpcontent2/source/text/sbasic/shared/03/lib_schedule \ helpcontent2/source/text/sbasic/shared/03/lib_template \ helpcontent2/source/text/sbasic/shared/03/lib_wikieditor \ diff --git a/source/text/sbasic/shared/03/lib_ScriptForge.xhp b/source/text/sbasic/shared/03/lib_ScriptForge.xhp index c8f1912659..c3cd4ff3fd 100644 --- a/source/text/sbasic/shared/03/lib_ScriptForge.xhp +++ b/source/text/sbasic/shared/03/lib_ScriptForge.xhp @@ -29,71 +29,103 @@ CreateScriptService("servicename"[, arg0, Arg1, ...]) Services from external libraries can be registered with the RegisterScriptServices(...) method in order to extend the set of available services. - ScriptForge Basic library is available from %PRODUCTNAME 7.1 onwards. - ScriptForge services are organized in the following categories: + The ScriptForge Basic library is available from %PRODUCTNAME 7.1 onwards. - %PRODUCTNAME Basic - Document content - User interface (UI) - Utilities + Services provided by the ScriptForge library - Array
- Dictionary
- Exception
- FileSystem
- String
- TextStream + Array
+ Calc
+ Database
+ Dialog
+ DialogControl
- Document
- Calc
- Database + Dictionary
+ Document
+ Exception
+ FileSystem

- UI
- Dialog
- DialogControls + Localization (L10N)
+ Platform
+ Services
+ Session

-
- Localization (L10N)
- Platform
- Services
- Session + String
+ TextStream
+ Timer
+ UI

- - - - - - - - FileSystem Service - L10n class Service - Platform Service - Services class Service - - - TextStream class Service - - + +
+ +
+
+ +
+
+ Database +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ Localization (L10N) +
+
+ Platform +
+
+ Services +
+
+ +
+
+ +
+
+ TextStream class Service +
+
+ +
+
+ +
Restricted use for SF_Root, SF_Utils modules as well as internal methods Note: Other ScriptForge undescribed modules are reserved for internal use. Their content is subject to change without notice.
All ScriptForge Basic routines or identifiers that are prefixed with an underscore character "_" are reserved for internal use. They are not meant be used in Basic macros.
- \ No newline at end of file + diff --git a/source/text/sbasic/shared/03/sf_dialogcontrol.xhp b/source/text/sbasic/shared/03/sf_dialogcontrol.xhp index 56860e6608..e171effcad 100644 --- a/source/text/sbasic/shared/03/sf_dialogcontrol.xhp +++ b/source/text/sbasic/shared/03/sf_dialogcontrol.xhp @@ -533,7 +533,7 @@ - Button + Button Boolean @@ -544,7 +544,7 @@ - CheckBox + CheckBox Boolean or Integer @@ -555,7 +555,7 @@ - ComboBox + ComboBox String @@ -566,7 +566,7 @@ - CurrencyField + CurrencyField Numeric @@ -577,7 +577,7 @@ - DateField + DateField Date @@ -588,7 +588,7 @@ - FileControl + FileControl String @@ -599,7 +599,7 @@ - FormattedField + FormattedField String or Numeric @@ -610,7 +610,7 @@ - ListBox + ListBox String or array of strings @@ -621,7 +621,7 @@ - NumericField + NumericField Numeric @@ -632,7 +632,7 @@ - PatternField + PatternField String @@ -643,7 +643,7 @@ - ProgressBar + ProgressBar Numeric @@ -654,7 +654,7 @@ - RadioButton + RadioButton Boolean @@ -665,7 +665,7 @@ - ScrollBar + ScrollBar Numeric @@ -676,7 +676,7 @@ - TextField + TextField String @@ -687,7 +687,7 @@ - TimeField + TimeField Date diff --git a/source/text/sbasic/shared/03/sf_filesystem.xhp b/source/text/sbasic/shared/03/sf_filesystem.xhp new file mode 100644 index 0000000000..16bb454908 --- /dev/null +++ b/source/text/sbasic/shared/03/sf_filesystem.xhp @@ -0,0 +1,962 @@ + + + + + + + ScriptForge.FileSystem service + /text/sbasic/shared/03/sf_filesystem.xhp + + + + +
+ + FileSystem service + +
+ +
+

ScriptForge.FileSystem service

+ The FileSystem service includes routines to handle files and folders. Next are some examples of the features provided by this service: + + + Verify whether a file or folder exists. + + + Create and delete folders and files. + + + Launch dialog boxes to open/save files. + + + Access the list of files in a folder, etc. + + +
+ The methods in the FileSystem service are mostly based on the XSimpleFileAccess UNO interface. + +

Definitions

+ The table below lists the main parameters used by most of the methods in the FileSystem service. + + + + Parameter + + + Description + + + + + FileName + + + The full name of the file including the path without a path separator at the end. + + + + + FolderName + + + The full name of the folder including the path. It may or may not contain the ending path separator. + + + + + Name + + + The last component of the Folder Name or File Name including its extension. This parameter is always expressed using the native format of the operating system. + + + + + BaseName + + + The last component of the Folder Name or File Name without its extension. + + + + + NamePattern + + + Any of the above names containing wildcards in its last component. Admitted wildcards are: + + + "?" represents any single character + + + "*" represents zero, one, or multiple characters + + + + +
+ The FileSystem service allows to perform operations over multiple files at the same time. By using name patterns, user scripts can copy, move or delete multiple files. Conversely, Basic built-in methods can only handle single files. + +

File Naming Notation

+ The notation used to express file and folder names, both for arguments and returned values, is defined by the FileNaming property of the FileSystem service. + In short, the possible representation types are "URL" (URL file notation), "SYS" (operating system notation) and "ANY" (default). See more information below. + An example of the URL notation is file:///C:/Documents/my_file.odt. Whenever possible consider using the URL notation because it is a more portable alternative. + +

Service invocation

+ Before using the FileSystem service the ScriptForge library needs to be loaded using: + + GlobalScope.BasicLibraries.LoadLibrary("ScriptForge") + + The following code snippet invokes the FileSystem service. The method BuildPath was used as an example. + + Dim FSO As Variant + FSO = CreateScriptService("FileSystem") + FSO.BuildPath(...) + + + + FileSystem service;FileNaming property + FileSystem service;ConfigFolder property + FileSystem service;ExtensionsFolder property + FileSystem service;HomeFolder property + FileSystem service;InstallFolder property + FileSystem service;TemplatesFolder property + FileSystem service;TemporaryFolder property + FileSystem service;UserTemplatesFolder property + +

Properties

+
+ + + + Name + + + Readonly + + + Type + + + Description + + + + + FileNaming + + + No + + + String + + + Sets or returns the current files and folders notation, either "ANY", "URL" or "SYS": + + + "ANY": (default) the methods of the FileSystem service accept both URL and current operating system's notation for input arguments but always return URL strings. + + + "URL": the methods of the FileSystem service expect URL notation for input arguments and return URL strings. + + + "SYS": the methods of the FileSystem service expect current operating system's notation for both input arguments and return strings. + + + Once set, the FileNaming property remains unchanged either until the end of the %PRODUCTNAME session or until it is set again. + + + + + ConfigFolder + + + Yes + + + String + + + Returns the configuration folder of %PRODUCTNAME. + + + + + ExtensionsFolder + + + Yes + + + String + + + Returns the folder where extensions are installed. + + + + + HomeFolder + + + Yes + + + String + + + Returns the user home folder. + + + + + InstallFolder + + + Yes + + + String + + + Returns the installation folder of %PRODUCTNAME. + + + + + TemplatesFolder + + + Yes + + + String + + + Returns the folder containing the system templates files. + + + + + TemporaryFolder + + + Yes + + + String + + + Returns the temporary files folder defined in the %PRODUCTNAME path settings. + + + + + UserTemplatesFolder + + + Yes + + + String + + + Returns the folder containing the user-defined template files. + + +
+
+ + + + List of Methods in the FileSystem Service + + + + + BuildPath
+ CompareFiles
+ CopyFile
+ CopyFolder
+ CreateFolder
+ CreateTextFile
+ DeleteFile
+ DeleteFolder
+ FileExists
+
+
+ + + Files
+ FolderExists
+ GetBaseName
+ GetExtension
+ GetFileLen
+ GetFileModified
+ GetName
+ GetParentFolderName

+
+
+ + + GetTempName
+ HashFile
+ MoveFile
+ MoveFolder
+ OpenTextFile
+ PickFile
+ PickFolder
+ SubFolders

+
+
+
+
+ +
+ BuildPath -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;BuildPath + +

BuildPath

+ Joins a folder path and the name of a file and returns the full file name with a valid path separator. The path separator is added only if necessary. +

+ + FSO.BuildPath(FolderName As String, Name As String) As String + +

+ FolderName : The path with which Name will be combined. The specified path does not need to be an existing folder. + Name : The name of the file to be appended to FolderName. This parameter uses the notation of the current operating system. +

+ + Dim FSO : FSO = CreateScriptService("FileSystem") + FSO.FileNaming = "URL" + MsgBox FSO.BuildPath("file:///home/user", "sample file.odt") + 'file:///home/user/sample%20file.odt + +
+ +
+ CompareFiles -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;CompareFiles + +

CompareFiles

+ Compares two files and returns True when they seem identical. + Depending on the value of the CompareContents argument, the comparison between both files can be either based only on file attributes (such as the last modified date), or based on the file contents. +

+ + FSO.CompareFiles(FileName1 As String, FileName2 As String, [CompareContents As Boolean]) As Boolean + +

+ FileName1, FileName2 : The files to compare. + CompareContents : When True, the contents of the files are compared (default = False). +

+ + FSO.FileNaming = "SYS" + If FSO.CompareFiles("C:\myFile1.txt", "C:\myFile2.txt", CompareContents := False) Then + ... + End If + +
+ +
+ CopyFile -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;CopyFile + +

CopyFile

+ Copies one or more files from one location to another. Returns True if at least one file has been copied or False if an error occurred. + An error will also occur if the Source parameter uses wildcard characters and does not match any files. + The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred. +

+ + FSO.CopyFile(Source As String, Destination As String, [Overwrite As Boolean]) As Boolean + +

+ Source : It can be a FileName or a NamePattern indicating one or more files to be copied. + Destination : It can be either a FileName specifying where the single Source file is to be copied, or a FolderName into which the multiple files from Source are to be copied. + + + If FolderName does not exist, it is created. + + + Wildcard characters are not allowed in Destination. + + + Overwrite : If True (default), files may be overwritten. The method will fail if Destination is readonly, regardless of the value specified in Overwrite. +

+ + FSO.FileNaming = "SYS" + ' Copies a single file + FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt") + ' Copies multiple files. Only files are copied, subfolders are not. + FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False) + +
+ +
+ CopyFolder -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;CopyFolder + +

CopyFolder

+ Copies one or more folders from one location to another. Returns True if at least one folder has been copied or False if an error occurred. + An error will also occur if the Source parameter uses wildcard characters and does not match any folders. + The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred. +

+ + FSO.CopyFolder(Source As String, Destination As String, [Overwrite As Boolean]) As Boolean + +

+ Source : It can be a FolderName or a NamePattern indicating one or more folders to be copied. + Destination : Specifies the FolderName into which the single or multiple folders defined in Source are to be copied. + + + If FolderName does not exist, it is created. + + + Wildcard characters are not allowed in Destination. + + + Overwrite : If True (default), files may be overwritten. The method will fail if Destination is readonly, regardless of the value specified in Overwrite. +

+ + FSO.FileNaming = "SYS" + FSO.CopyFolder("C:\Documents\*", "C:\Temp\", Overwrite := False) + ' Folders, their files and their subfolders are copied + +
+ +
+ CreateFolder -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;CreateFolder + +

CreateFolder

+ Creates the specified FolderName. Returns True if the folder could be successfully created. + If the specified folder has a parent folder that does not exist, it is created. +

+ + FSO.CreateFolder(FolderName As String) As Boolean + +

+ FolderName : A string representing the folder to be created. If the folder already exists, an exception will be raised. +

+ + FSO.FileNaming = "SYS" + FSO.CreateFolder("C:\NewFolder\") + +
+ +
+ CreateTextFile -------------------------------------------------------------------------------------------------------------------------- + + FolderSystem service;CreateTextFile + +

CreateTextFile

+ Creates a specified file and returns a TextStream object that can be used to write to the file. + The method returns a Null object if an error occurred. +

+ + FSO.CreateTextFile(FileName As String, [Overwrite As Boolean], [Encoding As String]) As Object + +

+ FileName : The name of the file to be created. + Overwrite : Boolean value that determines if FileName can be overwritten (default = True). + Encoding : The character set to be used. The default encoding is "UTF-8". +

+ + Dim myFile As Object + FSO.FileNaming = "SYS" + Set myFile = FSO.CreateTextFile("C:\Temp\ThisFile.txt", Overwrite := True) + + To learn more about the names of character sets, visit IANA's Character Set page. Beware that %PRODUCTNAME does not implement all existing character sets. +
+ +
+ DeleteFile -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;DeleteFile + +

DeleteFile

+ Deletes one or more files. Returns True if at least one file has been deleted or False if an error occurred. + An error will also occur if the FileName parameter uses wildcard characters and does not match any files. + The files to be deleted must not be readonly. + The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred. +

+ + FSO.DeleteFile(FileName As String) As Boolean + +

+ FileName : It can be a FileName or a NamePattern indicating one or more files to be deleted. +

+ + FSO.FileNaming = "SYS" + FSO.DeleteFile("C:\Temp\*.docx") + ' Only files are deleted, subfolders are not + +
+ +
+ DeleteFolder -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;DeleteFolder + +

DeleteFolder

+ Deletes one or more folders. Returns True if at least one folder has been deleted or False if an error occurred. + An error will also occur if the FolderName parameter uses wildcard characters and does not match any folders. + The folders to be deleted must not be readonly. + The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred. +

+ + FSO.DeleteFolder(FolderName As String) As Boolean + +

+ FolderName : It can be a FolderName or a NamePattern indicating one or more folders to be deleted. +

+ + FSO.FileNaming = "SYS" + FSO.DeleteFolder("C:\Temp\*") + ' Only folders are deleted, files in the top folder (C:\Temp\) are not + +
+ +
+ FileExists -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;FileExists + +

FileExists

+ Returns True if a given file name is valid and exists, otherwise the method returns False. + If the FileName parameter is actually an existing folder name, the method returns False. +

+ + FSO.FileExists(FileName As String) As Boolean + +

+ FileName : A string representing the file to be tested. +

+ + FSO.FileNaming = "SYS" + If FSO.FileExists("C:\Documents\my_file.odt") Then + '... + End If + +
+ +
+ Files -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;Files + +

Files

+ Returns a zero-based array of the files stored in a given folder. Each entry in the array is a string containing the full path and file name. + If FolderName does not exist, an exception is raised. + The resulting list may be filtered with wildcards. +

+ + FSO.Files(FolderName As String, [Filter As String]) As Variant + +

+ FolderName : A string representing a folder. The folder must exist. FolderName must not designate a file. + Filter : A string containing wildcards ("?" and "*") that will be applied to the resulting list of files (default = ""). +

+ + Dim filesList As Variant, file As String + FSO.FileNaming = "SYS" + filesList = FSO.Files("/home/user/", "*.txt") + For Each file In filesList + ' ... + Next file + +
+ +
+ FolderExists -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;FolderExists + +

FolderExists

+ Returns True if the specified FolderName is valid and exists, otherwise the method returns False. + If the FolderName parameter is actually an existing file name, the method returns False. +

+ + FSO.FolderExists(FolderName As String) As Boolean + +

+ FolderName : A string representing the folder to be tested. +

+ + FSO.FolderNaming = "SYS" + If FSO.FolderExists("C:\Documents\Thesis") Then + '... + End If + +
+ +
+ GetBaseName -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetBaseName + +

GetBaseName

+ Returns the BaseName (equal to the last component) of a folder or file name, without its extension. + The method does not check if the specified file or folder exists. +

+ + FSO.GetBaseName(FileName As String) As String + +

+ FileName : A string representing the file name and its path. +

+ + ' If the input parameter is a folder, it returns the last component of the path + MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents" + ' If the input parameter is a file, the method returns the file name without the extension and the path + MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file" + +
+ +
+ GetExtension -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetExtension + +

GetExtension

+ Returns the extension part of a file or folder name without the dot "." character. + The method does not check for the existence of the specified file or folder. + If this method is applied to a folder name or to a file without an extension, then an empty string is returned. +

+ + FSO.GetExtension(FileName As String) As String + +

+ FileName : A string representing the file name and its path. +

+ + FSO.FileNaming = "SYS" + MsgBox FSO.GetExtension("C:\Windows\Notepad.exe") ' "exe" + +
+ +
+ GetFileLen -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetFileLen + +

GetFileLen

+ The builtin FileLen Basic function returns the number of bytes contained in a file as a Long value, i.e. up to 2GB. + The GetFileLen method can handle files with much larger sizes by returning a Currency value. +

+ + FSO.GetFileLen(FileName As String) As Currency + +

+ FileName : A string representing an existing file. +

+ + Dim a As Currency + FSO.FileNaming = "SYS" + a = FSO.GetFileLen("C:\pagefile.sys") + +
+ +
+ GetFileModified -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetFileModified + +

GetFileModified

+ Returns the last modified date of a given file. +

+ + FSO.GetFileModified(FileName As String) As Date + +

+ FileName : A string representing an existing file. +

+ + Dim a As Date + FSO.FileNaming = "SYS" + a = FSO.GetFileModified("C:\Documents\my_file.odt") + +
+ +
+ GetName -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetName + +

GetName

+ Returns the last component of a file or folder name in native operating system format. + The method does not check if the specified file or folder exists. +

+ + FSO.GetName(FileName As String) As String + +

+ FileName : A string representing the file name and its path. +

+ + Dim a As String + FSO.FileNaming = "SYS" + a = FSO.GetName("C:\Windows\Notepad.exe" ' Notepad.exe + +
+ +
+ GetParentFolderName -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetParentFolderName + +

GetParentFolderName

+ Returns a string containing the name of the parent folder of a specified file or folder name. + The method does not check if the specified file or folder exists. +

+ + FSO.GetParentFolderName(FileName As String) As String + +

+ FileName : A string with the file or folder name to be analyzed. +

+ + Dim a As String + FSO.FileNaming = "SYS" + a = FSO.GetParentFolderName("C:\Windows\Notepad.exe" ' C:\Windows\ + +
+ +
+ GetTempName -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;GetTempName + +

GetTempName

+ Returns a randomly generated temporary file name that is useful for performing operations that require a temporary file. + The returned file name does not have any suffix. The folder part of the returned string is the system's temporary folder. + The method does not create the temporary file. +

+ + FSO.GetTempName() As String + +

+ + Dim a As String + FSO.FolderNaming = "SYS" + a = FSO.GetTempName() & ".txt" + ' "/tmp/SF_574068.txt" + +
+ +
+ HashFile -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;HashFile + +

HashFile

+ Hash functions are used by some cryptographic algorithms, in digital signatures, message authentication codes, fraud detection, fingerprints, checksums (message integrity check), hash tables, password storage and much more. + The HashFile method returns the result of a hash function, applied on a given file and using a specified algorithm. The returned value is a string of lower-case hexadecimal digits. + The hash algorithms supported are: MD5, SHA1, SHA224, SHA256, SHA384 and SHA512. +

+ + FSO.HashFile(FileName As String, Algorithm As String) As String + +

+ FileName : A string representing an existing file. + Algorithm : One of the supported algorithms. +

+ + FSO.FileNaming = "SYS" + MsgBox FSO.HashFile("C:\pagefile.sys", "MD5") + +
+ +
+ MoveFile -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;MoveFile + +

MoveFile

+ Moves one or more files from one location to another. Returns True if at least one file has been moved or False if an error occurred. + An error will also occur if the Source parameter uses wildcard characters and does not match any files. + The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred. +

+ + FSO.MoveFile(Source As String, Destination As String) As Boolean + +

+ Source : It can be a FileName or NamePattern to designate one or more files to be moved. + Destination : If Source is a FileName then this parameter indicates the new path and file name of the moved file. + If the move operation involves multiple files, then Destination must be a folder name. If it does not exist, it is created. + If Source and Destination have the same parent folder, the method will rename the Source. + Wildcard characters are not allowed in Destination. +

+ + Dim a As String + FSO.FileNaming = "SYS" + FSO.MoveFile("C:\Temp1\*.*", "C:\Temp2\") + ' Only files are moved, subfolders are not + +
+ +
+ MoveFolder -------------------------------------------------------------------------------------------------------------------------- + + FolderSystem service;MoveFolder + +

MoveFolder

+ Moves one or more folders from one location to another. Returns True if at least one folder has been moved or False if an error occurred. + An error will also occur if the Source parameter uses wildcard characters and does not match any folders. + The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred. +

+ + FSO.MoveFolder(Source As String, Destination As String) As Boolean + +

+ Source : It can be a FolderName or NamePattern to designate one or more folders to be moved. + Destination : If the move operation involves a single folder, then Destination is the name and path of the moved folder and it must not exist. + If multiple folders are being moved, then Destination designates where the folders in Source will be moved into. If Source does not exist, it is created. + Wildcard characters are not allowed in Destination. +

+ + Dim a As String + FSO.FileNaming = "SYS" + FSO.MoveFolder("C:\Temp1\*", "C:\Temp2\") + +
+ +
+ OpenTextFile -------------------------------------------------------------------------------------------------------------------------- + + FolderSystem service;OpenTextFile + +

OpenTextFile

+ Opens a file and returns a TextStream object that can be used to read from, write to, or append to the file. + Note that the method does not check if the given file is really a text file. + The method returns a Null object if an error occurred. +

+ + FSO.OpenTextFile(FileName As String, [IOMode As Integer], [Create As Boolean], [Encoding As String]) As Object + +

+ FileName : Identifies the file to open. + IOMode : Indicates the input/output mode. It can be one of three constants: FSO.ForReading (default), FSO.ForWriting, or FSO.ForAppending. + Create : Boolean value that indicates whether a new file can be created if the specified filename doesn't exist: + + + If True a new file and its parent folders will be created if they do not exist; + + + If False then new files are not created (default). + + + Encoding : The character set to be used. The default encoding is "UTF-8". +

+ + Dim myFile As Object + FSO.FileNaming = "SYS" + Set myFile = FSO.OpenTextFile("C:\Temp\ThisFile.txt", FSO.ForReading) + If Not IsNull(myFile) Then + ' ... + End If + +
+ +
+ PickFile -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;PickFile + +

PickFile

+ Opens a dialog box to open or save files. + If the SAVE mode is set and the picked file exists, a warning message will be displayed. +

+ + FSO.PickFile([DefaultFile As String], [Mode As String], [Filter As String]) As String + +

+ DefaultFile : This argument is a string composed of a folder and file name: + + + The folder part indicates the folder that will be shown when the dialog opens (default = the last selected folder). + + + The file part designates the default file to open or save. + + + Mode : OPEN (input file) or SAVE (output file). The default value is OPEN. + Filter : The extension of the files displayed when the dialog is opened (default = no filter). +

+ + Dim a As Variant + FSO.FileNaming = "SYS" + a = FSO.PickFile("C:\", "OPEN", "txt") + ' Only *.txt files are displayed + +
+ +
+ PickFolder -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;PickFolder + +

PickFolder

+ Opens a dialog box to select a folder. +

+ + FSO.PickFolder([DefaultFolder As String], [FreeText As String]) As String + +

+ DefaultFolder : A string containing the folder name that will be displayed when the dialog is opened (default = the last selected folder). + FreeText : Text to display in the dialog (default = ""). +

+ + Dim a As Variant + FSO.FileNaming = "SYS" + a = FSO.PickFolder("C:\", "Choose a folder or press Cancel") + +
+ +
+ SubFolders -------------------------------------------------------------------------------------------------------------------------- + + FileSystem service;Files + +

SubFolders

+ Returns a zero-based array of the folders stored in a given FolderName. + The list may be filtered with wildcards. +

+ + FSO.SubFolders(FolderName As String, [Filter As String]) As Variant + +

+ FolderName : A string representing a folder. The folder must exist. FolderName must not designate a file. + Filter : A string containing wildcards ("?" and "*") that will be applied to the resulting list of folders (default = ""). +

+ + Dim folderList As Variant, folder As String + FSO.FileNaming = "SYS" + folderList = FSO.SubFolders("/home/user/") + For Each folder In folderList + ' ... + Next folder + +
+ + +
+ Link here SF_TextStream help page after it is finished + Input Function + Open Statement +
+ +