2016-04-13 16 views
-1

Ich habe den folgenden Code, der in einem Dokument nach einem Satz mit 'pm' in - falls gefunden, ersetzt es durch den Wert ist eine Master-Dokument Tabelle 2 Zellen 2,2.Wenn TABELLE CELL VALUE = .... DANN (funktioniert nicht)

Aus irgendeinem Grund funktioniert die IF-Anweisung nicht und geht immer an den ELSE Wenn ich den Text im Dokument nicht ersetze - kann mir jemand dabei helfen, wie ich den ganzen Morgen stecken geblieben bin.

timeon = wdDocSrc.Tables(2).Cell(2, 2).Range.Text 
If timeon = "a" Then 'ERROR HERE 
TimeReplace = wdDocSrc.Tables(2).Cell(3, 1) 

TimeText = TimeReplace 

wdDocTgt.Activate 

With wdDocTgt 
Selection.Find.Execute FindText:="pm", Forward:=True 

If Selection.Text = "pm" Then 
With Selection 
' Collapse current selection to insertion point. 
.Collapse 
' Turn extend mode on. 
.Extend 
' Extend selection to word. 
.Extend 
' Extend selection to sentence. 
.Extend 
End With 
With Selection 
    'Selection.Text = "We are now open Christmas DAY!!. " 
    Selection.Text = TimeText 

End With 

Else 
MsgBox "No timing in this letter" 
End If 
End With 
Else 
MsgBox "ERROR" 'AWAYS JUMPS TO THIS 
End If 
+0

Können Sie nicht überprüfen, was 'timeon' enthält eine diesen Punkt? – GSerg

+0

Timeon enthält den Wert in der angegebenen Zelle (beim Überprüfen des unmittelbaren Fensters). Da ist ein schwarzer Kreis daneben - beeinflusst das das und wenn ja, wie entferne ich es vom Tisch? – Tom36

+0

Dies ist ein Zeilenumbruch gefolgt von dem Tabellenzellen-Abschlusszeichen. Möglicherweise möchten Sie sie vor dem Vergleich entfernen. – GSerg

Antwort

0

Entfernen der schwarzen Arbeit tat hat - mit diesem Code:

timeon = wdDocSrc.Tables(3).Cell(2, 2) 
Timeconfig = timeon 
Timeconfig = Left$(Timeconfig, Len(Timeconfig) - 2) 
If Timeconfig = "Yes" Then 
TimeReplace = wdDocSrc.Tables(2).Cell(2, 1) 

TimeText = TimeReplace 
Verwandte Themen