#

Word Makro: Alle Sätze markieren und Markierungen wieder löschen
 
Das folgende Word Makro markierte alle Sätze in einem Word Dokument mit einem Anfangszeichen und einem Ende-Zeichen.
Dabei durchläuft ein vba Makro das Dokument nach allen Word.Sentences und prüft anschliessend die Range.Words.
Zusätzlich ist ein zweites Makro vorhanden, welches die Markierungen wieder löscht.
Diese Makro durchläuft nur alle Words und prüft auf eine Ähnlichkeit in den Begriffen.
 

 
 
 
Wofür braucht man ein Markierung von Word Sätzen?
Man kann diese Markierungen verwenden, um in Google Translator die Sätze automatisch zu übersetzen.
Wenn man Sätze mit Anfangs- und Endzeichen markiert hat, dann kann man diese in Google übersetzen, im Word Dokument wieder einfügen und anschliessend in Word die Übersetzung über die Originalen Sätze übertragen.
Somit hat man einen perfekten Word Dokumenten Übersetzer.

 
 
 
 
 
Word Makro zum Markieren aller Sätze mit Tags

Function add_Sentence_Tags()
'--------< add_Sentence_Tags() >--------
'< init >
Dim doc As Document
Set doc = ActiveDocument
'</ init >

'----< @Loop: Sentences >----
Dim i As Integer
For i = doc.Sentences.Count To 1 Step -1
'----< @_Loop: Sentences >----
Dim sentence_range As range
Set sentence_range = doc.Sentences(i)
'--< sentence with words >--
If sentence_range.Text Like "*[a-zA-Z]*" Then
'-< find last word >-
Dim iWord_Last As Integer
For iWord_Last = sentence_range.Words.Count To 1 Step -1
If Trim(sentence_range.Words(iWord_Last)) Like "*[a-zA-Z0-9.?!:-_+]*" Then
Exit For
End If
Next
'-</ find last word >-
'< add tags >
sentence_range.Words(iWord_Last).InsertAfter "[/sntc" & i & "]"
sentence_range.Words(1).InsertBefore "[sntc" & i & "]"
'</ add tags >
End If
'--</ sentence with words >--
'----</ @_Loop: Sentences >----
Next
'----</ @Loop: Sentences >----
'--------</ add_Sentence_Tags() >--------
End Function
 

 
 
Word Makro zum Entfernen aller Tags

 
Function remove_Sentence_tags()
'--------< remove_Sentence_tags() >--------
'< init >
Dim doc As Document
Set doc = ActiveDocument
'</ init >

Dim doc_range As range
Set doc_range = doc.range
'--< sentence with words >--
Dim iWord As Integer
For iWord = doc_range.Words.Count To 1 Step -1
Dim word_range As range
Set word_range = doc_range.Words(iWord)
If word_range.Text Like "*sntc[0-9]*" Then
doc_range.Words(iWord - 1).Delete WdUnits.wdWord, 3
iWord = iWord - 1
End If
Next
'--</ sentence with words >--
'--------</ remove_Sentence_tags() >--------
End Function

 
 
Mobile

.

123movies