On Sat, 16 Feb 2008 16:31:39 -0500, "Rick Rothstein \(MVP -
VB\)"
wrote:
Sorry, but I am not up to speed on my RegEx yet... would that retain the
c:
from the front of the path or not?
If there were no "\" after the C:, then it would be retained. But if the
C:
represents a drive, is C:filename legal? OR must it be C:\filename
Yes, c:filename is legal. In the flurry of postings we have done, you missed
my 2:40PM (EST) message. I am repeating it here so you don't have to look
for it... see my test() subroutine and note in particular the path/filename
used in the Open statement.
Expanding -- it would certainly be possible for a parser in which the "\"
preceding the filename was optional
Which is, of course, a possibility; though, in today's type file
referencing, somewhat rare. If the default path is at the directory where
the file is located, then you can legally specify the file using something
like this... c:filename.ext and the operating system will look in the
current directory. On my system, there is a directory called TEMP at the
root level of my C: drive. In that directory is a file named Test.txt. The
following code (showing a 'backslashless' path reference) prints the first
line of the file into the Immediate window...
Sub test()
ChDir "c:\temp"
Open "c:test.txt" For Input As #1
Line Input #1, LineOfText
Close #1
Debug.Print LineOfText
End Sub
Rick
Well, as written, the regex would retain the C:.
If you wanted to return filename without the C:, it would be a simple
alteration in the regex:
re.Pattern = "([^\\:]*\S)\s?-[^\\]*$"
This is a bit more robust, though:
re.Pattern = "([^\\:]*\S)\s*-[^\\]*$"
--ron