Thema Datum  Von Nutzer Rating
Antwort
Rot Makro gerät in Endlosschleife
21.05.2013 15:24:38 Sam751
NotSolved
23.05.2013 14:16:41 kim
NotSolved
23.05.2013 14:28:11 Gast81861
NotSolved

Ansicht des Beitrags:
Von:
Sam751
Datum:
21.05.2013 15:24:38
Views:
2232
Rating: Antwort:
  Ja
Thema:
Makro gerät in Endlosschleife

Hallo! ich bin am verzweifeln. Ich schreibe grade für Word 2010 ein Makro. Das Makro soll die Aufgabe erledigen, eine bestimmte Art von Überschriften zu finden und an diese eine bestimmte Zeichenfolge zu hängen. Um genau zu sein soll es "Überschrift 3" (also die Formatvorlage) finden.

Problem: Sobald direkt unter der Überschrift eine Tabelle folgt, gerät das Makro in eine Endlosschleife. Es findet praktisch unendlich oft die selbe Stelle und erstellt den entsprechenden Text ebenfalls unendliche male, bis ich das Makro abbreche.

Hier mein Code:

 

Sub LinkGenerator2()
Dim dateiname As String
dateiname = ActiveDocument.Name
'Wenn Dateiname = .doc -3. sonst -4
'dateiname = Left(dateiname, Len(dateiname) - 4)
If (Right(dateiname, 3) = "doc") Then
    dateiname = Left(dateiname, Len(dateiname) - 4)
Else
    dateiname = Left(dateiname, Len(dateiname) - 5)
End If
Dim wortersatz As String
Dim rng As Range
Set rng = ActiveDocument.Range
With rng.Find
  .Style = ActiveDocument.Styles(wdStyleHeading3)
  'Nach dem ersten Durchlauf muss ein zweiter folgen, der nach der anderen Überschrift sucht.
  .Text = ""
  .Forward = True
  .Wrap = wdFindStop
  .Execute
  Do While .Found = True
  
    'packt die gefundenen texte ins select
    rng.Select
    'Selection.MoveDown Unit:=wdLine, Count:=1
    ueberschrift = rng
    ueberschrift = Left(ueberschrift, Len(ueberschrift) - 1) 'Diese Zeile setzt den Curser an die Stelle, die noch in der Reihe der Überschrift ist. Der Zeilenumbruch steht also hinter dem Curser
    
    'If [cursor rechts davon].Style = "Margin Note" Then
       ' [möglichkeit zur behebung des schleifenfehlers]
        
    'Schreibt den Text in der richtigen Formatierung
    Selection.TypeText Text:=ueberschrift
    
    'Hier muss noch der "C1H Topic Properties" style hinzugefügt werden
    Selection.Style = "C1H Topic Properties"
    Selection.TypeText Text:=" " & "|url=" & dateiname & "." & ueberschrift & ".htm"
    'Selection.MoveUp wdLine, 1
    Selection.MoveDown Unit:=wdLine, Count:=1
    'Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    
  
    .Execute
    
    
    
  Loop
  'MsgBox rng
End With
End Sub

 


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
Rot Makro gerät in Endlosschleife
21.05.2013 15:24:38 Sam751
NotSolved
23.05.2013 14:16:41 kim
NotSolved
23.05.2013 14:28:11 Gast81861
NotSolved