![]() ![]() (It uses the default workbook path.)įor older versions of Excel, you need to use a VBA macro and take advantage of the WorkbookBeforePrint event. Note, however, that if the workbook has not been saved, the path name might be incorrect. You'll find a new icon that inserts the code to print the full path and filename of the workbook. When this dialog is displayed, click the Header/Footer tab and click Custom Header. The last element of the resulting array (determined with the UBound function) contains the portion of the original path that is to the right of the last path separator-the file name.If you use Excel 2002 or later, you can take advantage of a new feature in the Page Setup dialog box. In this usage the Split function uses as a delimiter whatever path separator is appropriate for the system on which Excel is running. ![]() Parts = Split(File_Path, Application.PathSeparator) This example shows the solution implemented as a user-defined function.įunction GetFileName2(File_Path) As String This function was introduced in the version of VBA provided with Excel 2000, and it will pull a string apart based upon a delimiter you specify and stuff the parts into an array. You could also use a much shorter version of a macro, provided you can use the Split function. It steps through all the cells in column A and puts the file name, if any, in column B.ĭo While ActiveCell.Offset(0, -1).Value "" The following example starts in cell B1, examining everything to the right of the cell (cell A1) and then starts pulling out file names. It then returns everything after the backslash. If you want to use a macro you can create one that steps backward through the path until it locates the last backslash. This formula replaces all the backslashes with 100 spaces, grabs the right-most 99 characters from the resulting string (that would be the filename with a bunch of spaces in front of it) and then trims off all the spaces. The MID function is used to locate (with the help of FIND and the SUBSTITUTE functions) the location of the last backslash in the path and return everything after that point.Ī shorter formula can be used if you are sure that the filename will never be more than 99 characters long: The first time it replaces all of them with an ASCII value of 1 and the second it replaces them with nothing (an empty string) so that it can determine how many backslashes were in the original path. In each case it replaces the backslashes (\) with something else. ![]() Note that the formula uses the SUBSTITUTE function twice. If the filename is a different length in each instance, then this approach won't work. This assumes that the filename is always 11 characters long, such as "text001.txt". (This formula assumes the full path and file name is in cell A1.) If your filenames are all the same length, then you can simply use the RIGHT function to pull out the last characters. There are several different ways, depending on whether you want to use a macro or not. He wonders if there is a quick way to do this without using Text to Columns feature. He would like a way to extract just the filename (the part to the right of the final backslash) from each path. Barry has a worksheet in which a column contains many file paths.
0 Comments
Leave a Reply. |