Thema Datum  Von Nutzer Rating
Antwort
10.09.2015 15:22:20 Maik
NotSolved
Blau Inhaltsverzeichnis automatisch erstellen
10.09.2015 20:54:18 BigBen
NotSolved
14.09.2015 07:48:07 Gast98636
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
10.09.2015 20:54:18
Views:
706
Rating: Antwort:
  Ja
Thema:
Inhaltsverzeichnis automatisch erstellen

Hallo,

den Inhalt "XX 123456 Text 01012015.pdf" würde ich mit Regulary Expressions aufteilen:

(\w+) (([0-9][0-9])([0-9][0-9])([0-9][0-9])) (.*) (\w+.pdf)

In VBA muss hierfür ein Verweis auf die Library "Microsoft VBScript Regulary  Expressions 5.5" angelegt werden.

Im Code wird der zu teilende Inhalt in der variable strExpression fest vorgegeben. Dieser Inhalt kann natürlich auch als Parameter der Sub übergeben werden:

 

Sub SplitString()
    Dim RegEx As VBScript_RegExp_55.RegExp
    Dim mc As VBScript_RegExp_55.MatchCollection
    Dim strExpression As String
    Dim strPattern As String
    
    Dim arOut(3) As String, arOutNumber(2) As String
    Dim iItem As Integer, iOut As Integer, iOutNumber As Integer
    
    strExpression = "XX 123456 Text 01012015.pdf"
    
    strPattern = "(\w+) (([0-9][0-9])([0-9][0-9])([0-9][0-9])) (.*) (\w+.pdf)"
    
    Set RegEx = New VBScript_RegExp_55.RegExp
    RegEx.IgnoreCase = True
    RegEx.Pattern = strPattern
    
    If RegEx.Test(strExpression) Then
        Set mc = RegEx.Execute(strExpression)
        With mc.Item(0)
            For iItem = 0 To 6
                If iItem >= 2 And iItem <= 4 Then
                    arOutNumber(iOutNumber) = .SubMatches(iItem)
                    iOutNumber = iOutNumber + 1
                Else
                    arOut(iOut) = .SubMatches(iItem)
                    iOut = iOut + 1
                End If
            Next
        End With
    End If
End Sub

 

In den Array strOut und strOutNumber sind die Ergebnisse:

strOut = Komplette Abschnitte

strOutNumber = Der zweite Abschnitt aufgeteilt z.B. 12|34|56

VG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.09.2015 15:22:20 Maik
NotSolved
Blau Inhaltsverzeichnis automatisch erstellen
10.09.2015 20:54:18 BigBen
NotSolved
14.09.2015 07:48:07 Gast98636
NotSolved