View Single Post
  #4  
Old February 3rd, 2006, 10:30 PM posted to microsoft.public.word.tables
external usenet poster
 
Posts: n/a
Default A Bug I Think in Word 2000

You're right, I didn't notice that. As for a workaround: perhaps instead of
collapsing the cell range and pasting, try using Range.InsertAfter ?





"Greg Maxey" wrote in message
...
Jezebel,

I don't know if you noticed the complete subject, but the error only
occurs in Word2000(well I don't know about Word97, or 2002). It doesn't
occur in Word2003.

When ToolsOptionEditSmart cut and paste is checked the error occurs if
I select and copy a complete word or phrase to the clipboard. It doesn't
occur if I select and copy the middle part of a word, the tail end of a
word, or a complete word including a leading space.

If ToolsOptionsEditSmart cut and paste is uncheck, then the error
doesn't occur.

I have only tested on my Word2000 machine at work, so the problem could be
isolated to that machine.

Cheers.


--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

"Jezebel" wrote in message
...
Must be something more to it, Greg. I tried it exactly as you describe
and can't create the problem. What are your Smart cut and paste settings?



"Greg" wrote in message
oups.com...
Enter a simple table and add a bit of text to a few cells.

Put a check in: ToolOptionsEditUse smart cut and paste

Type a few words after the table and copy it to the clipboard.

Now run:

Sub Test()
Dim tbl As Word.Table
Dim cel As Word.Cell
Dim rng As Word.Range
Set tbl = ActiveDocument.Tables(1)
For Each cel In tbl.Range.Cells
Set rng = cel.Range
rng.MoveEnd wdCharacter, -1
rng.Collapse wdCollapseEnd
rng.Paste
Next
End Sub


This has interesting results.
1. If you selected and copied a complete word or phrase (without the
leading space). The result is the text is pasted to all cells as
expected, but a run time error is generated.

Run Time Error '5825' Object has been deleted. :-(

2. If you copied only part of a word or a word/phase including a
leading
space, all is well.

I have discovered that the cause of this behaviour is
ToolsOptionsEditUse smart cut and paste. With that option off, the
procedure works as expected with no run time error. That is the cause,
but I don't really understand the why.

I suppose that knowing this you could use an error handler:

Sub Test()
Dim tbl As Word.Table
Dim cel As Word.Cell
Dim rng As Word.Range
Set tbl = ActiveDocument.Tables(1)
On Error GoTo Handler
For Each cel In tbl.Range.Cells
Set rng = cel.Range
rng.MoveEnd wdCharacter, -1
rng.Collapse wdCollapseEnd
rng.Paste
Next
Exit Sub
Handler:
End Sub

Does anyone know if this bug, as I have called it, is documented, why
it happends, or a more appropriate workaround?

Thanks.