obratka Пользователь Сообщений: 58 |
Коллеги, добрый день! Заранее спасибо! |
vikttur Пользователь Сообщений: 47199 |
Вы тему назвали так, что только ПРАВСИМВ можно применить |
Казанский Пользователь Сообщений: 8839 |
#3 07.12.2016 20:13:42 obratka, на VBA очень просто, а формулами сложнее, т.к. нет аналога функции InstrRev
Предложение по названию темы: Выделить расширение файла из полного пути Изменено: Казанский — 07.12.2016 20:16:53 |
||
_Igor_61 Пользователь Сообщений: 3007 |
По-деревенски, просто, но вдруг? |
Karataev Пользователь Сообщений: 2306 |
Вариант с помощью формулы. Предполагается, что путь находится в «A1»: Изменено: Karataev — 07.12.2016 21:45:23 |
vikttur Пользователь Сообщений: 47199 |
=ПСТР(ПРАВБ(B2;5);ПОИСК(«.»;ПРАВБ(B2;5))+1;4) |
Bema Пользователь Сообщений: 6759 |
Ну и я отмечусь: Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл |
Karataev Пользователь Сообщений: 2306 |
#8 07.12.2016 20:40:35
точка не является запрещенным символом в пути, поэтому точек может быть несколько |
||
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#9 07.12.2016 20:43:36
Дык, Ляксей предусмотрел сие в №3. Я сам — дурнее всякого примера! … |
||
vikttur Пользователь Сообщений: 47199 |
|
_Igor_61 Пользователь Сообщений: 3007 |
А если с двойным или с тройным расширением? Вдруг на этом месте что-то непотребное окажется? ТС скажет — «форумчане не доглядели!» |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
<#0> |
vikttur Пользователь Сообщений: 47199 |
#13 07.12.2016 20:51:39
Каков пример… |
||
_Igor_61 Пользователь Сообщений: 3007 |
Так и не было примера-то… |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#15 08.12.2016 14:52:43
|
||||
Ігор Гончаренко Пользователь Сообщений: 13746 |
#16 08.12.2016 15:02:48
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
Sanja Пользователь Сообщений: 14838 |
#17 08.12.2016 15:04:06
Согласие есть продукт при полном непротивлении сторон. |
||||||
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
Sanja, спасибо за пример. Я так ещё не писал. <#0> |
Sanja Пользователь Сообщений: 14838 |
JayBhagavan, а Вам за ссылку мерсис Согласие есть продукт при полном непротивлении сторон. |
Udik Пользователь Сообщений: 372 excel 2016х64 Контакты в профиле |
#20 08.12.2016 15:41:52 Мой вариант Арфы — нет, возьмите бубен. |
‘[/vba]
‘ Keep It Simple
‘ .. why use FileSystemObject or Split when Left and Mid will do it
‘ the FSO has some 33 Subs or Functions
that have to be loaded each time it is created.
‘ and needs the file to exist … yet is only a bit slower
… under twice time.. some good code in FSO
‘ conservation is good .. spare a few electrons. ????… save a few millionths of a sec
‘Also
‘ .. why the format of a function that we all seem to use like
‘
‘ .. Function GetAStr(x) as string
‘ dim extraStr as string
‘ a lot of work with extraStr..
‘ that could have been done with the string variable GetAStr
already created by the function
‘ then .. GetAStr=extraStr to put it in its right place
‘ .. End Function
Function GetNameL1$(FilePath$, Optional NLess& = 1)
‘ default Nless=1 => name only
‘ NLess =2 => xcopya.xls xcopyb.xls xcopy7.xlsm all as xcopy to get find latest version
‘ Nless = — 4 or less => name with name.ext worka.xlsm
GetNameL1 = Mid(FilePath, InStrRev(FilePath, «») + 1)
GetNameL1 = Left(GetNameL1, InStrRev(GetNameL1, «.») — NLess)
End Function
Function LastFold$(FilePath$)
LastFold = Left(FilePath, InStrRev(FilePath, «») — 1)
LastFold = Mid(LastFold, InStrRev(LastFold, «») + 1)
End Function
Function LastFoldSA$(FilePath$)
Dim SA$(): SA = Split(FilePath, «»)
LastFoldSA = SA(UBound(SA) — 1)
End Function
[<vba]
Содержание
- Метод Application.GetOpenFilename (Excel)
- Синтаксис
- Параметры
- Возвращаемое значение
- Примечания
- Пример
- Поддержка и обратная связь
- How to get the excel file name / path in VBA
- 7 Answers 7
- Объект File. Работа с файлами
- Открытие файла
- Проверка существования файла
- Получение информации о файле
- Манипулирование файлами
- Создание временных файлов
- Семейство Files
- Объект FileSystemObject
- Синтаксис
- Примечания
- Методы
- Свойства
- См. также
- Поддержка и обратная связь
Метод Application.GetOpenFilename (Excel)
Отображает стандартное диалоговое окно Открыть и получает у пользователя имя файла без фактического открытия файлов.
Синтаксис
выражение.GetOpenFilename (FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
FileFilter | Необязательный | Variant | Строка, указывающая условия фильтрации файлов. |
FilterIndex | Необязательный | Variant | Указывает значения индексов условий фильтрации файлов по умолчанию — от 1 до количества фильтров, указанных в FileFilter. Если этот аргумент пропущен или его значение превышает число имеющихся фильтров, используется первый фильтр файлов. |
Title | Необязательный | Variant | Указывает заголовок диалогового окна. Если этот аргумент пропущен, используется заголовок «Открыть». |
ButtonText | Необязательный | Variant | Только для Macintosh. |
MultiSelect | Необязательный | Variant | Значение True, чтобы разрешить выбор нескольких имен файлов. Значение False, чтобы разрешить выбор только одного имени файла. Значение по умолчанию — False. |
Возвращаемое значение
Примечания
Эта строка, передаваемая в аргументе FileFilter, состоит из пар строк фильтра файлов, после которых идет спецификация фильтра файлов MS-DOS с подстановочным знаком, где каждая часть и каждая пара разделяются запятыми. Каждая отдельная пара указана в раскрывающемся списке Тип файлов. Например, следующая строка указывает два фильтра файлов — text и addin:
«Text Files (*.txt), *.txt,Add-In Files (*.xla), *.xla»
Чтобы использовать разные выражения с подстановочными знаками MS-DOS для одного типа фильтра файлов, разделяйте выражения с подстановочными знаками точкой с запятой. Пример: «Visual Basic Files (*.bas; *.txt), *.bas;*.txt» .
Если FileFilter пропущен, этому аргументу по умолчанию присваивается значение «All Files (*.*), *.*» .
Этот метод возвращает выбранное имя файла или имя, введенное пользователем. Возвращаемое имя может содержать путь. Если параметру MultiSelect присвоено значение True, возвращаемое значение является массивом выбранных имен файлов (даже если выбрано только одно имя файла). Возвращается значение False, если пользователь отменяет использование диалогового окна.
Этот метод может менять текущий диск или папку.
Пример
В этом примере отображается диалоговое окно Открыть с фильтром, настроенным на текстовые файлы. Если пользователь выбирает имя файла, код отображает это имя файла в окне сообщения.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
How to get the excel file name / path in VBA
Say, I’m writing a VBA inside my excel file sample.xls. Now I want to get the full path of sample.xls in my VBA. How do I do it?
7 Answers 7
If you mean VBA, then you can use FullName, for example:
(updated as considered by the comments: the former used ActiveWorkbook.FullName could more likely be wrong, if other office files may be open(ed) and active. But in case you stored the macro in another file, as mentioned by user @user7296559 here, and really want the file name of the macro-using file, ActiveWorkbook could be the correct choice, if it is guaranteed to be active at execution time.)
this is a simple alternative that gives all responses, Fullname, Path, filename.
If you need path only this is the most straightforward way:
if you need path only without file name:
it would return D:Folder
if you need file path with file name also:
it would return D:Foldersample.xls
if you need file name only:
it would return sample.xls
so if you want combine file path and file name to get full directory don’t forget to add «» between. otherwise its simpler using .Path
ActiveWorkbook.FullName would be better I think, in case you have the VBA Macro stored in another Excel Workbook, but you want to get the details of the Excel you are editing, not where the Macro resides.
If they reside in the same file, then it does not matter, but if they are in different files, and you want the file where the Data is rather than where the Macro is, then ActiveWorkbook is the one to go for, because it deals with both scenarios.
Источник
Объект File. Работа с файлами
Объект File позволяет выполнять различные манипуляции с файлом, например, копировать или удалить файл, а также предоставляет доступ к информации о файле, например, можно получить размер файла или дату и время создания файла. Создать объект позволяет метод GetFile( ) объекта FileSystemObject . В параметре указывается путь к файлу. Путь может быть абсолютным или относительным. При указании относительного пути полный путь определяется с учетом местоположения текущего рабочего каталога и текущего диска. Пример создания объекта:
Открытие файла
Открыть файл позволяет метод OpenAsTextStream() объекта File , который возвращает ссылку на объект TextStream . Формат метода:
Необязательный параметр задает режим открытия файла:
- ForReading — чтение (значение по умолчанию). Указатель устанавливается на начало файла;
- ForWriting — запись. Содержимое файла удаляется. Указатель устанавливается на начало файла;
- ForAppending — добавление. Содержимое файла не удаляется. Указатель устанавливается на конец файла.
В необязательном параметре указываются следующие значения:
- TristateFalse — 0 — кодировка ASCII (значение по умолчанию);
- TristateTrue — -1 — кодировка Unicode;
- TristateUseDefault — -2 — кодировка, используемая в системе по умолчанию.
Пример открытия файла на запись:
Проверка существования файла
Проверить существование файла позволяет метод FileExists( ) объекта FileSystemObject . В параметре указывается путь к файлу. Метод возвращает значение True , если файл существует и False — в противном случае. Пример:
Получение информации о файле
Получить информацию о файле позволяют следующие свойства объекта File :
- Size — размер файла;
- Path — полный путь к файлу (например, D:VBAfile1.txt );
- ShortPath — короткий путь к файлу;
- Drive — имя диска (например, D: );
- Name — имя файла без пути;
- ShortName — короткое имя файла;
- Type — тип файла;
- ParentFolder — ссылка на объект родительского каталога;
- DateCreated — дата и время создания файла;
- DateLastAccessed — дата и время последнего доступа к файлу;
- DateLastModified — дата и время последнего изменения файла;
- Attributes — позволяет определить какие атрибуты установлены для файла. Содержит сумму следующих значений:
- 0 — Normal — обычный файл (только чтение);
- 1 — ReadOnly — файл доступен только для чтения (чтение и запись);
- 2 — Hidden — скрытый файл (чтение и запись);
- 4 — System — системный файл (чтение и запись);
- 16 — Directory — путь указывает на каталог (только чтение);
- 32 — Archive — архивный файл (чтение и запись);
- 64 — Alias — имя файла является псевдонимом (только чтение);
- 128 — Compressed — сжатый файл (только чтение).
Проверить, установлен атрибут или нет, позволяет оператор And . Если атрибут установлен, то результатом операции будет ненулевое значение. Если этому свойству присвоить новое значение, то атрибуты файла (доступные для записи) будут изменены.
Пример получения и изменения атрибутов файла показан в листинге 13.1.
Листинг 13.1. Получение и изменение атрибутов файла
Манипулирование файлами
Для манипулирования файлами предназначены следующие методы объекта File :
- Move — позволяет переместить или переименовать файл:
Вместо метода Move() можно воспользоваться методом MoveFile() объекта FileSystemObject . Формат метода:
Пример переименования файла file1.txt в file3.txt :
Параметр может содержать подстановочные знаки в последнем компоненте пути. Например, переместить все текстовые файлы из каталога folder1 в каталог folder2 можно так:
- Copy [, ] — позволяет скопировать содержимое файла в другой файл. Если во втором параметре указано значение True (значение по умолчанию), то существующий файл будет перезаписан, а если значение False — то генерируется ошибка. Пример:
Вместо метода Copy() можно воспользоваться методом CopyFile() объекта FileSystemObject . Формат метода:
Пример создания копии файла file3.txt :
Параметр может содержать подстановочные знаки в последнем компоненте пути. Например, скопировать все текстовые файлы из каталога folder2 в каталог folder1 можно так:
- Delete [ ] — удаляет файл. Если в параметре указано значение True , то файл удаляется даже в случае, если он доступен только для чтения. По умолчанию параметр имеет значение False . Пример:
Вместо метода Delete() можно воспользоваться методом DeleteFile() объекта FileSystemObject . Формат метода:
Пример удаления файла file3.txt :
Создание временных файлов
С помощью метода GetTempName() объекта FileSystemObject можно сгенерировать уникальное имя для временного файла. Обратите внимание на то, что метод не создает файл, а лишь возвращает уникальное имя в виде строки (например, «radDA657.tmp «). Пример:
Семейство Files
Семейство Files содержит несколько объектов File . Доступ к объекту в коллекции выполняется с помощью метода Item( ) или с помощью цикла For Each. Next . Получить количество объектов в коллекции позволяет свойство Count .
С помощью свойства Files объекта Folder можно получить ссылку на коллекцию всех файлов в каталоге. В качестве примера выведем названия всех файлов в каталоге:
Статьи по Visual Basic for Applications (VBA)
Помощь сайту
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов
Источник
Объект FileSystemObject
Предоставляет доступ к файловой системе компьютера.
Синтаксис
Scripting.FileSystemObject
Примечания
Приведенный ниже код иллюстрирует использование объекта FileSystemObject для возврата объекта TextStream, который можно читать, и в который можно записать данные.
- Функция CreateObject возвращает объект FileSystemObject ( fs ).
- Метод CreateTextFile создает файл в качестве объекта TextStream ( a ).
- Метод WriteLine записывает строку текста в созданный текстовый файл.
- Метод Close опустошает буфер и закрывает файл.
Методы
Метод | Описание |
---|---|
BuildPath | Добавляет имя в существующий путь. |
CopyFile | Копирует один или несколько файлов из одного расположения в другое. |
CopyFolder | Копирует одну или несколько папок из одного расположения в другое. |
CreateFolder | Создает новую папку. |
CreateTextFile | Создает текстовый файл и возвращает объект TextStream, который можно использовать для чтения или записи в файл. |
DeleteFile | Удаляет один или несколько указанных файлов. |
DeleteFolder | Удаляет одну или несколько указанных папок. |
DriveExists | Проверяет, существует ли указанный диск. |
FileExists | Проверяет, существует ли указанный файл. |
FolderExists | Проверяет, существует ли указанная папка. |
GetAbsolutePathName | Возвращает полный путь из корневого каталога диска для указанного пути. |
GetBaseName | Возвращает базовое имя указанного файла или папки. |
GetDrive | Возвращает объект Drive, соответствующий диску в указанном пути. |
GetDriveName | Возвращает имя диска указанного пути. |
GetExtensionName | Возвращает имя расширения файла для последнего компонента в указанном пути. |
GetFile | Возвращает объект файла для указанного пути. |
GetFileName | Возвращает имя файла или папки для последнего компонента в указанном пути. |
GetFolder | Возвращает объект Folder для указанного пути. |
GetParentFolderName | Возвращает имя родительской папки последнего компонента в указанном пути. |
GetSpecialFolder | Возвращает путь к некоторым специальным папкам Windows. |
GetTempName | Возвращает созданный случайным образом временный файл или папку. |
Move | Перемещает заданный файл или указанную папку из одного места в другое. |
MoveFile | Перемещает один или несколько файлов из одного места в другое. |
MoveFolder | Перемещает одну или несколько папок из одного места в другое. |
OpenAsTextStream | Открывает указанный файл и возвращает объект TextStream, который можно использовать для считывания, записи и дополнения данных в файле. |
OpenTextFile | Открывает файл и возвращает объект TextStream, который можно использовать для доступа к файлу. |
WriteLine | Записывает заданную строку и символ новой строки в файл TextStream. |
Свойства
Свойство | Описание |
---|---|
Drives | Возвращает коллекцию всех объектов Drive на компьютере. |
Name | Устанавливает или возвращает имя указанного файла или заданной папки. |
Path | Возвращает путь для указанного файла, диска или указанной папки. |
Size | Для файлов возвращает размер указанного файла в байтах; для папок возвращает размер всех файлов и вложенных папок в байтах. |
Type | Возвращает сведения о типе файла или папки (например, для файлов с расширением .TXT возвращается «Text Document»). |
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
I need to get file name without extension name by VBA. I know ActiveWorkbook.Name
property , but if user haves Windows property Hide extensions for known file types
turn off, the result of my code will be [Name.Extension]. How can I return only name of Workbook independent of windows property?
I try even ActiveWorkbook.Application.Caption
but I can’t customize this property.
asked Jan 13, 2015 at 14:02
0
The answers given here already may work in limited situations, but are certainly not the best way to go about it. Don’t reinvent the wheel. The File System Object in the Microsoft Scripting Runtime library already has a method to do exactly this. It’s called GetBaseName. It handles periods in the file name as is.
Public Sub Test()
Dim fso As New Scripting.FileSystemObject
Debug.Print fso.GetBaseName(ActiveWorkbook.Name)
End Sub
Public Sub Test2()
Dim fso As New Scripting.FileSystemObject
Debug.Print fso.GetBaseName("MyFile.something.txt")
End Sub
Instructions for adding a reference to the Scripting Library
answered Jan 13, 2015 at 14:51
RubberDuckRubberDuck
11.7k4 gold badges50 silver badges95 bronze badges
9
Simple but works well for me
FileName = ActiveWorkbook.Name
If InStr(FileName, ".") > 0 Then
FileName = Left(FileName, InStr(FileName, ".") - 1)
End If
answered Apr 19, 2017 at 7:39
IfcaIfca
1711 silver badge2 bronze badges
3
Using the Split function seems more elegant than InStr and Left, in my opinion.
Private Sub CommandButton2_Click()
Dim ThisFileName As String
Dim BaseFileName As String
Dim FileNameArray() As String
ThisFileName = ThisWorkbook.Name
FileNameArray = Split(ThisFileName, ".")
BaseFileName = FileNameArray(0)
MsgBox "Base file name is " & BaseFileName
End Sub
answered Jan 25, 2019 at 12:07
1
This gets the file type as from the last character (so avoids the problem with dots in file names)
Function getFileType(fn As String) As String
''get last instance of "." (full stop) in a filename then returns the part of the filename starting at that dot to the end
Dim strIndex As Integer
Dim x As Integer
Dim myChar As String
strIndex = Len(fn)
For x = 1 To Len(fn)
myChar = Mid(fn, strIndex, 1)
If myChar = "." Then
Exit For
End If
strIndex = strIndex - 1
Next x
getFileType = UCase(Mid(fn, strIndex, Len(fn) - x + 1))
End Function
answered Feb 20, 2019 at 16:05
You could always use Replace()
since you’re performing this on the workbook’s Name, which will almost certainly end with .xlsm
by virtue of using VBA.
Using ActiveWorkbook per your example:
Replace(Application.ActiveWorkbook.Name, ".xlsm", "")
Using ThisWorkbook:
Replace(Application.ThisWorkbook.Name, ".xlsm", "")
answered Nov 29, 2020 at 3:29
David MetcalfeDavid Metcalfe
2,1471 gold badge27 silver badges43 bronze badges
0
This thread has been very helpful to me lately. Just to extend on the answer by @RubberDuck, the File System Object in the Microsoft Scripting Runtime library is already there to achieve this. Also if you define it as an Object as below, it will save you the hassle of having to enable ‘Microsoft Scripting Runtime’ in VBA Tools > References:
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Debug.Print fso.GetBaseName(ActiveWorkbook.Name)
In this way it will return name of the ActiveWorkbook without extension.
There is another way by using INSTRREV function as below:
Dim fname As String
fname = Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1)
MsgBox fname
Both will return the same result. Also in both of the methods above, they will retain any full-stops in the file name and only get rid of the last full-stop and the file extension.
answered Jun 29, 2022 at 18:02
To be verbose it the removal of extension is demonstrated for
workbooks.. which now have a variety of extensions .
. a new unsaved Book1 has no ext
. works the same for files
Function WorkbookIsOpen(FWNa$, Optional AnyExt As Boolean = False) As Boolean
Dim wWB As Workbook, WBNa$, PD%
FWNa = Trim(FWNa)
If FWNa <> "" Then
For Each wWB In Workbooks
WBNa = wWB.Name
If AnyExt Then
PD = InStr(WBNa, ".")
If PD > 0 Then WBNa = Left(WBNa, PD - 1)
PD = InStr(FWNa, ".")
If PD > 0 Then FWNa = Left(FWNa, PD - 1)
'
' the alternative of using split.. see commented out below
' looks neater but takes a bit longer then the pair of instr and left
' VBA does about 800,000 of these small splits/sec
' and about 20,000,000 Instr Lefts per sec
' of course if not checking for other extensions they do not matter
' and to any reasonable program
' THIS DISCUSSIONOF TIME TAKEN DOES NOT MATTER
' IN doing about doing 2000 of this routine per sec
' WBNa = Split(WBNa, ".")(0)
'FWNa = Split(FWNa, ".")(0)
End If
If WBNa = FWNa Then
WorkbookIsOpen = True
Exit Function
End If
Next wWB
End If
End Function
answered Jan 29, 2017 at 21:44
Harry SHarry S
4616 silver badges5 bronze badges
I use a macro from my personal.xlsb and run it on both xlsm and xlsx files so a variation on David Metcalfe’s answer that I use is
Dim Wrkbook As String
Wrkbook = Replace(Application.ActiveWorkbook.Name, «.xlsx», «.pdf»)
Wrkbook = Replace(Application.ActiveWorkbook.Name, «.xlsm», «.pdf»)
answered Apr 6, 2021 at 14:04
VulkaVulka
134 bronze badges
Here is a solution if you do not want to use FSO.
There were some similar answers before, but here some checks are done to handle multiple dots in name and name without extension.
Function getFileNameWithoutExtension(FullFileName As String)
Dim a() As String
Dim ext_len As Integer, name_len As Integer
If InStr(FullFileName, ".") = 0 Then
getFileNameWithoutExtension = FullFileName
Exit Function
End If
a = Split(ActiveWorkbook.Name, ".")
ext_len = Len(a(UBound(a))) 'extension length (last element of array)
name_len = Len(FullFileName) - ext_len - 1 'length of name without extension and a dot before it
getFileNameWithoutExtension = Left(FullFileName, name_len)
End Function
Sub test1() 'testing the function
MsgBox (getFileNameWithoutExtension("test.xls.xlsx")) ' -> test.xls
MsgBox (getFileNameWithoutExtension("test")) ' -> test
MsgBox (getFileNameWithoutExtension("test.xlsx")) ' -> test
End Sub
answered May 2, 2022 at 16:37
LeoLeo
4203 silver badges18 bronze badges
strTestString = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))
full credit: http://mariaevert.dk/vba/?p=162
answered Jan 13, 2015 at 14:20
bp_bp_
4024 silver badges14 bronze badges
9
5 / 5 / 1 Регистрация: 14.03.2011 Сообщений: 55 |
|
1 |
|
Как убрать расширение файла, и отображать толко имя файла?15.03.2011, 14:51. Показов 17489. Ответов 5
Подскажите как убрать расширение файла? грубо говоря имеем: dim a as string «a» отображается как «****.txt» как сделать, чтобы отображалось только само имя файла? — «***» ??
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
15.03.2011, 14:51 |
Ответы с готовыми решениями: Как вытащить из ini-файла имя файла? Ввести имя файла (с расширением) и заменить его на расширение «.exe» Помогите кто чем может) Дана строка, содержащая полное имя файла. Выделить из этой строки имя и расширение файла Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого католога Залание: Дано полное имя файла, т.е путь к файлу, имя и расширение…. 5 |
695 / 236 / 18 Регистрация: 17.01.2011 Сообщений: 583 Записей в блоге: 1 |
|
15.03.2011, 15:08 |
2 |
Вот так. Но работает с расширением из трёх букв. s = «Филипс.pdf» Если файл имеет расширение из 4-х букв например: «Сравнение адресов.xlsm» , надо вместо 4 написать написать 5. s = «Сравнение адресов.xlsm»
1 |
84 / 82 / 2 Регистрация: 12.03.2011 Сообщений: 560 |
|
15.03.2011, 15:20 |
3 |
Не понятно-зачем это нужно-расширение файла характеризует свойство файла в системе.
0 |
gaw 6644 / 1511 / 169 Регистрация: 09.01.2010 Сообщений: 4,298 |
||||
15.03.2011, 15:31 |
4 |
|||
2 |
Ципихович Эндрю 1508 / 478 / 56 Регистрация: 10.04.2009 Сообщений: 8,008 |
||||
15.03.2011, 15:58 |
5 |
|||
Не понятно-зачем это нужно-расширение файла характеризует свойство файла в системе. Не правильный подход, говорит юзер надо, значит надо:
Добавлено через 4 минуты
1 |
5 / 5 / 1 Регистрация: 14.03.2011 Сообщений: 55 |
|
15.03.2011, 17:52 [ТС] |
6 |
Не понятно-зачем это нужно-расширение файла характеризует свойство файла в системе. мне это нужно для того чтобы помимо открытия файлов .тхт и копирования данных из них во вновь созданную книгу, мог сразу создават листы с названием по файлу .тхт например открываю файл 123.тхт и копирую из него данные во вновь созданный лист 123 может это можно было сделать и другим способом, но у меня возникла такая мысль.. Добавлено через 1 час 19 минут
0 |