Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
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. |
#2
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
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. |
#3
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
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. |
#4
Posted to microsoft.public.word.tables
|
|||
|
|||
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. |
#5
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
Good idea. I will try that Monday when I am back at that machine.
-- Greg Maxey/Word MVP See: http://gregmaxey.mvps.org/word_tips.htm For some helpful tips using Word. Jezebel wrote: 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. |
#6
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
Jezebel,
I forgot, I already tried that and it works fine: Sub Test3() Dim MyData As DataObject Dim myString As String Dim tbl As Word.Table Dim cel As Word.Cell Dim rng As Word.Range Set MyData = New DataObject MyData.GetFromClipboard myString = MyData.GetText Set tbl = ActiveDocument.Tables(1) For Each cel In tbl.Range.Cells Set rng = cel.Range rng.MoveEnd wdCharacter, -1 rng.InsertAfter myString Next End Sub Any thoughts on why it happens? I mean I know it happens because smart cut and paste is enabled, but why do you suppose that is? -- Greg Maxey/Word MVP See: http://gregmaxey.mvps.org/word_tips.htm For some helpful tips using Word. Jezebel wrote: 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. |
#7
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
Any thoughts on why it happens? I mean I know it happens because smart cut and paste is enabled, but why do you suppose that is? Are you able to identify the line that throws the error? To hazard a guess as to cause: from your account, all cells are actually processed, so the error comes at the end of the loop. Perhaps the smart cut-and-paste, in trying to deal with the superfluous space, is shifting an internal range pointer, so that on the final iteration it thinks there is another cell to process, then throws the error when it finds there isn't one. |
#8
Posted to microsoft.public.word.tables
|
|||
|
|||
A Bug I Think in Word 2000
I think you are right. I just didn't know how to put it in technical lingo.
-- Greg Maxey/Word MVP See: http://gregmaxey.mvps.org/word_tips.htm For some helpful tips using Word. Jezebel wrote: Any thoughts on why it happens? I mean I know it happens because smart cut and paste is enabled, but why do you suppose that is? Are you able to identify the line that throws the error? To hazard a guess as to cause: from your account, all cells are actually processed, so the error comes at the end of the loop. Perhaps the smart cut-and-paste, in trying to deal with the superfluous space, is shifting an internal range pointer, so that on the final iteration it thinks there is another cell to process, then throws the error when it finds there isn't one. |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
window title file name | Microsoft Word Help | |||
Does Word have a QuickCorrect/Quick Word option like WordPerfect? | New Users | |||
In Word, how do I surpress headers and footers on page 2 | Microsoft Word Help | |||
is word perfect compatible with office word? | Microsoft Word Help | |||
How do I create & merge specific data base & master documents? | New Users |