Ich mache ein VBA-Makro für Excel und ich muss den Teil eines Dateipfads, der mit einer bestimmten Zeichenfolge übereinstimmt.Get Teil der Zeichenfolge, die mit einer anderen Zeichenfolge übereinstimmt
ich meine, ich habe ein Variant
FileInfo
genannt, die den Pfad der Arbeitsmappe enthält, die ich in diesem Moment bin mit (in einem For), können beispielsweise Variante wie folgt aussehen:
C:\Users\myUser\Desktop\SVN-Folder\trunk\G\INC20825\Estimación Temporal_v01r00.xlsx
Ich möchte Um eine Funktion zu erstellen, die nur den Teil des Pfads zurückgibt, der mit "INC*"
übereinstimmt und wenn der Pfad diese Übereinstimmung nicht aufweist, geben Sie null zurück.
So ist die Funktion in diesem Fall zurückkehren: INC20825
ich schon versucht, diese aber nicht
'This function returns the INC folder where is contained
Function INCFolder(FileInfo As Variant)
Dim i As Integer
If FileInfo Like "INC*" Then
i = InStr(FileInfo, "INC")
INCFolder = Mid(FileInfo, i, 8)
Else
INCFolder = Null
End If
End Function
EDIT mit Teillösung nicht funktioniert: Ich habe es arbeiten, um die 8-Zeichen zu erhalten von INC*
mit dem folgenden Code:
'This function returns the INC folder where is contained
Function INCFolder(FileInfo As Variant)
Dim i As Integer
i = InStr(FileInfo, "INC")
If i = 0 Then
INCFolder = Null
Else
INCFolder = Mid(FileInfo, i, 8)
End If
End Function
Probleme wird kommen, wenn INC größer oder kleiner ist als 8
Wurde die ** 'INC' ** Teil immer auf dem Weg 8 Zeichen haben? Ich würde es dynamischer machen – Zac
Ja, es kann nicht 8 Zeichen haben, aber ich weiß nicht, wie man es dynamischer macht –
@ Pablo.x siehe meine Antwort unten, es wird Ihnen Flexibilität geben, dynamischer zu sein und flexibel mit zu sein beliebig viele Zeichen –