Word 6500 Bereich kann nicht gelöscht werden [ERLEDIGT]

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Word 6500 Bereich kann nicht gelöscht werden [ERLEDIGT]

Beitrag von Werner_Bayern »

Servus,

wer kann mir dazu was sagen? Geht um das Suchen und Ersetzen von Worten eines Word-Dokumentes.
Bei folgender Schleife knallt es dann bei versch. Durchläufen, also konkret funktionieren die ersten 6 Worte, beim 7. knallt es:

Code: Alles auswählen

for i := 1 to nWorte
   oWords:Item(i):Text := aWorte[i]
//   oWords:Item(i):SetProperty("Text", aWorte[i])
next i
Beide Werte enthalten den Zeichen-Wert "17". Hab keine Ahnung, woran es liegen könnte.
Zuletzt geändert von Werner_Bayern am Do, 19. Aug 2010 13:37, insgesamt 1-mal geändert.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:Bei folgender Schleife knallt es dann bei versch. Durchläufen, also konkret funktionieren die ersten 6 Worte, beim 7. knallt es:
...
Beide Werte enthalten den Zeichen-Wert "17". Hab keine Ahnung, woran es liegen könnte.
versuche ein SLEEP(0) ... oder SLEEP(10)
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von Tom »

Ich vermute eher, dass es daran liegt, dass das zu ersetzende Objekt mit anderen verknüpft ist oder tatsächlich ein Formularobjekt darstellt. Oder sogar Bestandteil einer Tabelle ist.
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von Werner_Bayern »

AUGE_OHR hat geschrieben:versuche ein SLEEP(0) ... oder SLEEP(10)
Servus Jimmy,

hatte ich schon versucht, kein Erfolg.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von Werner_Bayern »

Servus Tom,

keine Tabelle, hier der entsprechende Code:

Code: Alles auswählen

oWord := CreateObject("Word.Application")
IF Empty( oWord )
  MsgBox( "Microsoft Word ist nicht installiert" )
  return NIL
ENDIF
oWord := oWord:dynamicCast(ActiveXObject())
oWord:Visible := .f.
oWord:documents:open(cDatei, .f., .t.)    // keine Konvertierungen anzeigen, readonly
oDoc := oWord:ActiveDocument
oWords := oDoc:Words // alle Wörter des Dokuments
nWorte := oWords:Count
aWorte := array(nWorte)
for i := 1 to nWorte
   aWorte[i] := oWords:Item(i):Text   // jedes Wort des Textes in das Array einlesen
next i
for i := 1 to nWorte
   msgbox(oWords:Item(i):Text, aWorte[i])
   oWords:Item(i):Text := aWorte[i]
//   oWords:Item(i):SetProperty("Text", aWorte[i])
next i
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von brandelh »

Hi,
oWord:documents:open(cDatei, .f., .t.) // keine Konvertierungen anzeigen, readonly
wenn ich deinen Kommentar richtig verstehe ist das Dokument "READ ONLY" geöffnet, da kann man auch nichts löschen ;-)
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von Werner_Bayern »

Servus Hubert,

nein, das wäre zu einfach :wink:

Ich speichere ja nicht, es werden nur die Worte getauscht. Ausserdem knallt es ja erst im 7. Durchlauf der Schleife, also beim 7. Wort im Dokument. Gleiches Verfahren läuft einwandfrei, wenn ich direkt gleich sofort tausche:

Code: Alles auswählen

for i := 1 to oWords:Count // Anzahl der Wörter, Count ändert sich dynamisch während des Ersetzens
      oWords:Item(i):Text := aErsetz[nPos] + " "
next
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Word Fehler 6500 Der Bereich kann nicht gelöscht werden

Beitrag von Werner_Bayern »

Ich denke, ich hab den Fehler gefunden: Das 7. Wort ist eine Feldvariable im Text, also eine Feldfunktion (Createdate). Die darf ich offensichtlich nicht antasten.
Vor allem erkennt Word das nicht richtig als Wort. Die Feldvariable hat ja z. B. den Wert "19.07.2010", in Wirklichkeit steckt da ja "{CREATEDATE \@"dd.MM.yyyy" \*MERGEFORMAT}" dahinter. Trotzdem meldet mir oWords:Item(7):Text ein "19".
es grüßt

Werner

<when the music is over, turn off the lights!>
Antworten