Note: The other languages of the website are Google-translated. Back to English

Sut i dynnu enw ffeil yn gyflym o'r llwybr llawn yn Excel?

Gan dybio bod gennych chi daflen waith sy'n cynnwys rhestr o lwybrau ffeiliau, nawr yr hoffech chi dynnu enw'r ffeil yn unig (rhan iawn y backslash terfynol) o bob llwybr fel y sgrinluniau canlynol a ddangosir. A oes unrhyw driciau cyflym i ddelio â'r dasg hon?

Tynnwch enw ffeil o'r llwybr llawn gyda fformiwla yn Excel
Tynnwch enw ffeil o'r llwybr llawn gyda Swyddogaeth Diffiniedig Defnyddiwr
Tynnwch enw ffeil o'r llwybr llawn gyda chod VBA


Tynnwch enw ffeil o'r llwybr llawn gyda fformiwla yn Excel

Yn Excel, gallwch ddefnyddio'r fformiwla isod i dynnu enw ffeil yn unig o'r llwybr llawn yn gyflym.

Dewiswch gell wag, rhowch y fformiwla isod i mewn iddi ac yna pwyswch y Rhowch allweddol.

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

Awgrymiadau: A1 yw'r gell rydych chi am dynnu enw'r ffeil ohoni), a gwasgwch Enter botwm, yna llusgwch y handlen llenwi i lenwi'r ystod rydych chi ei eisiau. Ar ôl hynny, mae'r enw ffeil yn cael ei dynnu o bob cell.

doc dyfyniad enw1


Tynnwch enw ffeil o'r llwybr llawn gyda Swyddogaeth Diffiniedig Defnyddiwr

Gyda'r Swyddogaeth Diffiniedig Defnyddiwr ganlynol, gallwch gael enw'r ffeil yn hawdd ac yn gyflym.

1. Daliwch i lawr y ALT + F11 allweddi i agor y Ffenestr Microsoft Visual Basic for Applications.

2. Cliciwch Mewnosod > Modiwlau, a gludwch y cod canlynol yn y Ffenestr Modiwl.

Function FunctionGetFileName(FullPath As String) As String
'Update 20140210
Dim splitList As Variant
splitList = VBA.Split(FullPath, "\")
FunctionGetFileName = splitList(UBound(splitList, 1))
End Function

3. Gwasgwch y Alt + Q allweddi i gau'r Microsoft Visual Basic ar gyfer Ceisiadau ffenestr ac ewch yn ôl i'r daflen waith. Mewn cell wag, B1 er enghraifft, rhowch y fformiwla isod i mewn iddi a gwasgwch y Rhowch allweddol.

=FunctionGetFileName(A1)

enwau doc-extract-file1

Yna dewiswch gell B1 eto, llusgwch yr handlen llenwi i'r ystod rydych chi am gymhwyso'r fformiwla hon, ac mae'r holl enwau ffeiliau wedi'u tynnu o'r llwybrau llawn fel canlyniad canlynol:

enwau doc-extract-file1


Tynnwch enw ffeil o'r llwybr llawn gyda chod VBA

Heblaw am y Swyddogaeth Diffiniedig Defnyddiwr, gall cod VBA hefyd eich helpu i echdynnu'r enwau ffeiliau. Gwnewch fel hyn:

1. Daliwch i lawr y ALT + F11 allweddi i agor y Ffenestr Microsoft Visual Basic for Applications.

2. Cliciwch Mewnosod > Modiwlau, a gludwch y cod canlynol yn y Ffenestr Modiwl.

Sub GetFileName()
'Update 20140210
Dim Rng As Range
Dim WorkRng As Range
Dim splitList As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    splitList = VBA.Split(Rng.Value, "\")
    Rng.Value = splitList(UBound(splitList, 1))
Next
End Sub

3. Yna pwyswch F5 allwedd i redeg y cod hwn, a dewis yr ystod rydych chi am dynnu enw'r ffeil ohoni, gweler y screenshot:

enwau doc-extract-file1

4. Ac yna cliciwch OK, mae'r enwau ffeiliau wedi'u tynnu o'r detholiad fel a ganlyn:

Nodyn: Gyda'r cod VBA hwn, bydd y data gwreiddiol yn cael ei ddinistrio, felly dylech chi gopïo un cyn defnyddio'r cod hwn.


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Office / Excel 2007-2021 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (2)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae'r fformiwla yn codi #VALUE! gwall os mai dim ond enw ffeil sydd gan y gell ffynhonnell i ddechrau.. Mae gwreiddio'r fformiwla gyfan mewn ffwythiant IFERROR yn datrys y broblem hon, ee, =IFERROR( , A1)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Swyddogaeth ddefnyddiol iawn. A oes ffordd i addasu'r sgript fel ei fod yn dod o hyd i'r enw ffeil os oes gan y llwybr naill ai \ neu / slaes?

Mae gen i daenlen gyda hypergysylltiadau amrywiol lle mae'r llwybrau gwaelodol naill ai \ neu / (slaes cefn neu flaen slaes) yn gwahanu - rwy'n meddwl ei fod oherwydd bod rhai o'r dolenni i ffeiliau wedi'u gwneud yn union fel nodau tudalen yn Word yn wreiddiol, neu i ffeiliau ar fewnol gweinydd doc. Neu efallai ei fod oherwydd bod rhai cysylltiadau llwybr yn cael eu gwneud gyda chysylltiadau llwybr absoliwt vs cymharol?

ee:

../../../../Documents/2ndQuarter/2019/standardcost_widget12345.pdf
or
\fileserver\ffatri23\Operations\Parts_Mgt\Documents\2nd Quarter\2019\standardcost_widget12345.pdf


Pan redais y swyddogaeth getfilename, cafodd yr holl enwau ffeiliau a oedd mewn llwybrau â \ rhwng cyfeirlyfrau neu ffolderi, ond dychwelwyd y cysylltiadau â / slaes fel y mae.
Newidiais ac ychwanegais ail ffwythiant a oedd yn debyg ond gosodais "/" yn lle'r \"\" yn llinell 4 a'i alw ymlaenslashgetfilename a'i redeg mewn colofn ar wahân ar ôl i mi redeg y ffwythiant cyntaf.

Nid yw rhedeg un swyddogaeth ar ôl y llall yn anodd, ond roeddwn yn chwilfrydig a allwch chi ehangu'r cod mewn gweithrediad splitList yn llinell 4 i gynnwys y ddau "\" neu "/". Dydw i ddim yn rhaglennydd VBA ond ceisiais splitList = VBA.Split(FullPath, "\" neu "/") ac nid oedd yn gweithio.

Syniadau? Rwy'n cymryd ei fod yn gystrawen syml - dwi'n hollol ddi-glem ar hyn o bryd... ond byddaf yn dechrau procio o gwmpas y rhyngweoedd...

Tks!
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir

Dilynwch ni

Hawlfraint © 2009 - www.extendoffice.com. | Cedwir pob hawl. Wedi ei bweru gan ExtendOffice. | Map o'r safle
Mae Microsoft a logo'r Swyddfa yn nodau masnach neu'n nodau masnach cofrestredig Microsoft Corporation yn yr Unol Daleithiau a / neu wledydd eraill.
Wedi'i warchod gan Sectigo SSL