Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

String Variable Selektiren

String Variable Selektiren
11.11.2017 19:48:05
tl1000sm1234
Hallo,
Ich hoffe ich bin hier richtig?
Ich möchte gern folgende unkommentierten Code "Erstes Wort nach Punkt und Doppelpunkt groß", den ich im Netz gefunden, habe verwenden(keine Ahnung ob er funktioniert):

Sub CapsAfterColonAndFullStop()
With Selection.Find
.ClearFormatting
.Text = ": ([a-z])"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
While .Found
Selection.Range.Case = wdUpperCase
Selection.Collapse Direction:=wdCollapseEnd
.Execute
Wend
.Text = ". ([a-z])"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
While .Found
Selection.Range.Case = wdUpperCase
Selection.Collapse Direction:=wdCollapseEnd
.Execute
Wend
End With
End Sub

Mein Eigenes Programm beginnt mit:
Sub Makro1()
Dim objStream As Object
Dim text1 As String
Datei = Dir(Pfad & "*.html")
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 2
objStream.Charset = "utf-8"
objStream.Open
objStream.LoadFromFile (Pfad & Datei)
text1 = objStream.ReadText()
objStream.Close
'Und hier soll der Gefundene Code folgen.
End Sub

Aber wie?
Selection = text1 'funktioniert nicht
Mit freundlichen Grüßen
tl1000sm1234

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String Variable Selektiren
11.11.2017 20:07:15
Luschi
Hallo tl1000sm1234,
der gepostete Vba-Code ist aber ein Word-Vba-Makro, erkennbar an den folgenden Word-Vba-Konstanten:
- wdFindContinue
- wdUpperCase
- wdCollapseEnd
Gruß von Luschi
aus klein-Paris
AW: String Variable Selektiren
11.11.2017 20:21:25
tl1000sm1234
Danke für deine schnelle Antwort und den Hinweis!
Im Netz habe ich das Gelesen, und Falsch Verstanden?
"Damit Word programmiert werden kann, muß die Objektbibliothek Word als Verweis mit einem Häkchen versehen sein. Dies ist normalerweise bereits der Fall, wenn VBA von Word aus aufgerufen wurde. Ansonsten kann in der Oberfläche von VBA im Extras-Menü der EIntrag „Verweise …“ aktiviert werden. Dort sollte dann ein Häkchen vor der Objektbibliothek Word gesetzt werden. Der genaue Name dieser Bibliothek in der Liste der Verweise hängt von der verwendeten Version von Word ab. Bei Word 2000 lautet er beispielsweise „Microsoft Word 9.0 Object Library“, bei späteren Versionen ist die Zahl „9“ wahrscheinlich durch eine größere Zahl ersetzt."
Also sollte ich wechseln?
Gibt es diese .Find Variante nicht in Ecxel?
Was ist mit String zu Select?
Anzeige
AW: String Variable Selektiren
11.11.2017 21:44:46
tl1000sm1234
Danke,
aber eine Schleifen Variante habe ich selbst auch geschrieben(aus Not).
Sub Makro1()
Dim objStream As Object
Dim text1 As String
Datei = Dir(Pfad & "*.html")
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 2
objStream.Charset = "utf-8"
objStream.Open
objStream.LoadFromFile (Pfad & Datei)
text1 = objStream.ReadText()
objStream.Close
intEnd = Len(text1)
M1 = True
For intRow = 1 To intEnd
text2 = Mid(text1, intRow, 1)
intSp1 = Asc(text2)
If intSp1 = 33 Or intSp1 = 46 Or intSp1 = 58 Or intSp1 = 63 Or intSp1 = 132 Then
M1 = True
ElseIf Asc(UCase$(text2))  Asc(LCase$(text2)) And M1 Then
text1 = Left(text1, intRow - 1) & UCase$(text2) & Mid(text1, intRow + 1)
M1 = False
End If
Next
End Sub
Bei 5000 Dokumenten mit je 30000 Wörtern dauert das zu lang.
Ich habe jetzt wie von @Luschi angemerkt auf Word gewechselt und da fuktioniert dieser Code:
Selection.TypeText Text:=text1 'hat in Excel nicht funktioniert
With Selection.Find
.ClearFormatting
.Text = ": ([a-z])"
*
*
*
Nur das zurückschreiben von Select in text1 funktioniert noch nicht!?
Anzeige
AW: String Variable Selektiren
12.11.2017 00:55:11
onur
Ich habe ein Word-Makro, das 80 sec für 90000 Worte braucht.
Interesse?
AW: String Variable Selektiren
12.11.2017 01:09:15
onur
Ich konnte das Makro auf 61 sec für 90000 Worte reduzieren.
Ist das schnell genug?
AW: String Variable Selektiren
12.11.2017 21:21:06
tl1000sm1234
Das währe Schnell genug:).
AW: String Variable Selektiren
12.11.2017 22:27:53
onur
Pstest du mal eine Text-Datei zum Testen?
AW: String Variable Selektiren
13.11.2017 00:37:15
onur

Sub Makro2()
Application.ScreenUpdating = False
On Error Resume Next
Dim l As Long
Dim ti, such(2)
ti = Timer
such(0) = (": "): such(1) = (". ")
For i = 0 To 1
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
DoEvents
.Text = such(i)
.Forward = True
.Wrap = wdFindContinue
Do While .Execute = True
DoEvents
With Selection
.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
txt = .Text
.Text = UCase(.Text)
.Collapse wdCollapseEnd
End With
Loop
End With
Next i
On Error GoTo 0
Application.ScreenUpdating = True
MsgBox (Str(Timer - ti) + " sec")
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige