I have code that extracts the full path of a file, minus the extension, and I’m trying to modify it to only store the name of the file, once again without the extension.
Sub ShowFilename()
Dim pathName As String
With ActiveDocument
If Len(.Path) = 0 Then
.Save
End If
If Right(.Name, 1) = "x" Then
pathName = Left$(.FullName, (Len(.FullName) - 5))
Else
pathName = Left$(.FullName, (Len(.FullName) - 4))
End If
End With
MsgBox pathName
End Sub
This displays C:Userstest
, and the document’s name is test.docm
. How can I modify this to only display the filename? Do I need to split the string along and extract the last part?
asked Jul 19, 2012 at 16:05
Sub ShowFilename()
Dim pathName As String
Dim o As Document
Set o = ActiveDocument
If InStrRev(o.Name, ".") <> 0 Then
MsgBox Left(o.Name, InStrRev(o.Name, ".") - 1)
Else
MsgBox o.Name
End If
End Sub
I initially posted this without the if, which would error if the file had never been saved, or had no extension.
answered Jul 19, 2012 at 16:15
As I was not able write code using FSO (isn’t it only for VB, is it?), I wrote this one, quite self explanatory
Dim oldFilename As String
oldFilename = ActiveDocument.Name
If Right(oldFilename, 5) = ".docx" Then
MsgBox ("subtract .docx")
oldFilename = Left(oldFilename, Len(oldFilename) - 5)
ElseIf Right(oldFilename, 4) = ".doc" Then
MsgBox ("subtract .doc")
oldFilename = Left(oldFilename, Len(oldFilename) - 4)
Else
MsgBox ("no extension yet")
End If
answered Jan 21, 2014 at 23:02
1
Yeish, I wouldn’t do it like that!
Hypothetically, you have a whole folders worth of word and you don’t need the extensions, you just want the names. What you would do is go through the word docs and parse them through this function with the type of extension you want removed from the file name
Function removeExtension(myDoc as Document, extension as String)
Dim documentWithoutExtension as String
documentWithoutExtension = replace(myDoc.Name, extension, "")
removeExtension = documentWithoutExtension
End Function
egor.zhdan
4,5156 gold badges42 silver badges53 bronze badges
answered Aug 28, 2015 at 10:00
This one works for me.
Sub ShowFilename()
MsgBox ActiveWindow.Parent
End Sub
answered Oct 4, 2017 at 23:56
An easy way would be:
Sub Test1()
Dim DocName As Document
Set DocName = ActiveDocument
end sub
Paul Roub
36.3k27 gold badges82 silver badges92 bronze badges
answered Apr 26, 2019 at 16:41
-
#1
Подскажите, други, как узнать исходное имя файла с изображением, помещенным в Word? И возможно ли это в принципе?
-
#2
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
Если изображение прилинкованно, то Shift+F9 на самом изображении.
Если внедрено, то невозможно.
-
#3
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
Если изображение прилинкованно, то Shift+F9 на самом изображении.
Если внедрено, то невозможно.
Думаю, внедрены. Shift+F9 не срабатывает. (А как осуществляется линкование в Ворде?)
Пока решил задачу так. Сохранил как веб-страницу, при этом в отдельную папку сложились и оригинальные изображения — байт в байт. Имена потерялись, но для поставленной цели это не проблема.
-
#4
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
http://www.pcreview.co.uk/forums/do-find-name-picture-file-inserted-word-t2393044.html
If you activate the script editor (ALT+SHIFT+F11), each inserted picture has a reference in the html file displayed that looks like:
<v:imagedata src=»Document4_files/image001.jpg» o:title=»IMG_0255_1_3″/>
where image001.jpg is the new name for the image and IMG_0255_1_3 is the original filename without the extension.
-
#5
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
Сохранил как веб-страницу, при этом в отдельную папку сложились и оригинальные изображения
Если docx, то не надо сохранять в html, это zip архив, картинки в папке media лежат.
-
#6
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
За предыдущую ссылку спасибо. Таким способом проверил и понял, что оригинальные названия переименовывались, потому узнать то, что мне хотелось, у меня и не получилось бы.
Если docx, то не надо сохранять в html, это zip архив, картинки в папке media лежат.
Docx не используется ни автором вордовского документа, ни мною.
-
#7
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
Достаточно просто пересохранить в docx и взять картинки, потом можно не использовать и удалить раз не используется.
-
#8
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
А как осуществляется линкование в Ворде?
Через причинное место, как всё в Microsoft. Там при вставке можно выбрать, линк, вставить и оставить линк или просто вставить.
Если вставлять EPS, то есть шанс протянуть наружу CMYK
И по комбинациям F9 есть возможность редактировать линки, что тоже полезно.
-
#9
Ответ: Как узнать исходное имя файла с изображением, помещенным в Word?
Спасибо всем за участие в моем вопросе.
Как узнать автора документа Microsoft Word 2013
06.03.2020
В этом руководстве я покажу Вам, как узнать автора документа Microsoft Word 2013. Начнем с нажатия на раздел «Файл».
В поле «Связанные пользователи» просматриваем автора документа. Есл информация оказалась Вам полезной – жмите Спасибо!
Оценка статьи:
(Пока оценок нет)
Загрузка…
Как посмотреть название файла?
3 ноября 2014 г. Просмотров: 2503
Имя файла – это обозначения, которые служат для того, чтобы операционная система могла распознать тип файла и найти его. Весь набор данных именуется по-разному, но название любого файла состоит из двух частей.
Инструкция
Оцените статью!
3 / 3 / 0 Регистрация: 27.02.2016 Сообщений: 80 |
|
1 |
|
Word Как макросом в Ворде определить цифровую часть названия файла?28.12.2018, 22:21. Показов 2252. Ответов 14
Здравствуйте. В директории есть группа файлов название которых отличаются тремя цифрами (к примеру Абв124, Абв125, … Абв231). Как макросом в Ворде определить цифровую часть названия файла с самым высоким номером?
0 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||
28.12.2018, 22:46 |
2 |
|||
Сообщение было отмечено Skreper как решение Решение
1 |
Святой НякаЛайк 653 / 246 / 88 Регистрация: 28.10.2015 Сообщений: 520 |
||||
28.12.2018, 22:52 |
3 |
|||
По идее есть функция val, которая должна из произвольного текста извлекать число (если оно там есть). Но val мало что может…
Вооружившись этим, можно подавать имена файлов в myval и получать числа, пригодные к сравнению и сортировке.
1 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||
28.12.2018, 23:11 |
4 |
|||
По идее есть функция val, которая должна из произвольного текста извлекать число (если оно там есть). Извлекает передние числа из строки например 34xx = 34 Добавлено через 11 минут
Можно написать свой val: можно ))
1 |
Святой НякаЛайк 653 / 246 / 88 Регистрация: 28.10.2015 Сообщений: 520 |
||||
28.12.2018, 23:15 |
5 |
|||
Извлекает передние числа из строки Ну да. Это наверное создавалось в расчете на бухгалтеров — извлекать 99,99 из «99,99 rur», но хочется же, чтобы функция работала более универсально, как надо ТС например. Добавлено через 1 минуту
можно )) А такое
уже не проканывает. У ТС файлы начинаются названиями с чего-то нечислового и заканчиваются расширениями…
0 |
oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
|
28.12.2018, 23:22 |
6 |
ТС писал что его интересуют три последние цифры
В директории есть группа файлов название которых отличаются тремя цифрами мой пример проигнорирует все что угодно (даже если там две цифры) кроме имен файлов с тремя цифрами в конце ) Добавлено через 2 минуты
А такое Ну вот поэтому нужно просматривать базовые имена в папке без расширений
s = .GetBaseName(v)
0 |
3 / 3 / 0 Регистрация: 27.02.2016 Сообщений: 80 |
|
29.12.2018, 00:09 [ТС] |
7 |
fever brain, Святой НякаЛайк, спасибо, сейчас попробую вставить в свой макрос. Хотя, додумался до более простого решения, только надо величину (цифровое окончание первого и последнего файлов) передать из экселя в ворд.
0 |
653 / 246 / 88 Регистрация: 28.10.2015 Сообщений: 520 |
|
29.12.2018, 00:21 |
8 |
1 |
oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
|
29.12.2018, 00:22 |
9 |
Дело в том, что в экселе формируются ряд файлов отличающиеся окончанием, а в ворде собираю эти файлы в один блок, к примеру файл Абс231-278. Хочется автоматизировать этот процесс. Ну твой вопрос был решен или нет ?
Как макросом в Ворде определить цифровую часть названия файла
0 |
11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,147 |
|
29.12.2018, 00:23 |
10 |
Хотя, додумался до более простого решения, …. передать из экселя в ворд. Жесть! самое простое решение!
0 |
653 / 246 / 88 Регистрация: 28.10.2015 Сообщений: 520 |
|
29.12.2018, 02:16 |
11 |
После чего открывается и активизируется общий файл «Adv.docx» в ‘котором вносим фактически файл «Adv0.docx» сохраняя форматирование. «Adv0.docx» затем уничтожается, а «Adv.docx» запоминается. И так, пока список не закончится
в экселе формируются ряд файлов отличающиеся окончанием, а в ворде собираю эти файлы в один блок, к примеру файл Абс231-278. Хочется автоматизировать этот процесс. А почему нужно сначала создавать сотню файлов, а потом склеивать их воедино, притом воссоздавая порядок, следовавший при создании? Что мешает сразу в том самом экселе слить всю инфу в один файл «Adv.docx»? (А потом здесь же, всё ещё из экселя, отправить этот реестр всех фамилий на печать и сэкономить кучу времени на создании, открытии, закрытии, сохранении при каждом добавлении кучи файлов)
1 |
3 / 3 / 0 Регистрация: 27.02.2016 Сообщений: 80 |
|
29.12.2018, 10:39 [ТС] |
12 |
fever brain, первый ответ (от 23.46) работает нормально, единственное т.к. цифровая часть может быть и 2-х и 4-х значная, то придется откинуть текстуальную. Тут уже додумаюсь как нибудь.
Ну твой вопрос был решен или нет ? В принципе да, СПАСИБО.
А почему нужно сначала создавать сотню файлов, а потом склеивать их воедино, Потому что бестолковый (возраст далеко за 60 и не специалист в программировании), работаю методом «научного тыка».
0 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||
29.12.2018, 14:17 |
13 |
|||
Сообщение было отмечено Skreper как решение Решение
единственное т.к. цифровая часть может быть и 2-х и 4-х значная, то придется откинуть текстуальную. Тут уже додумаюсь как нибудь. А чего додумываться, в моем примере будут просматриваться все имена имеющие маску а если поставить маску If s Like «*#»
На снимке папка запускаемого документа *новая папка* в ней-же файлики в окне immediate список просмотренных имен
1 |
3 / 3 / 0 Регистрация: 27.02.2016 Сообщений: 80 |
|
29.12.2018, 19:53 [ТС] |
14 |
fever brain, спасибо, работает отлично. Не по теме: Не вижу реакцию на «Лучший ответ» Здоровья вам и с наступающим. Всех благ. ПС. Как надоел устаревший маркер безопасности. Который не действует и после обновления страницы.
1 |
oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
|
30.12.2018, 22:48 |
15 |
Здоровья вам и с наступающим. Всех благ. Спасибо ))
0 |