6 posts in this topic
Okay this is likely due to my not properly understanding objects.
I'm using _Word_DocRangeSet to extend a range (in this case to the end of a line).
The issue I've encountered is that extending one range seems to affect another range.
It may be that an object can't be assigned or equated.
In any event the program and test file (place in the same directory) illustrate the issue.
Test 1 - shows the documentation for _Word_DocRangeSet correctly shows how the range is extended and the assigned result is extended. No problem here just part of my learning.
Test 2 - like Test 1 but no assignment of the result from _Word_DocRangeSet is needed. Again correct and my learning.
Test 3 - here is where the issue is. After an assignment to a new object the old one seems to be affected by _Word_DocRangeSet. This I don't understand (perhaps the assignment is really a namespace pool and points to the same structure like aliases <-- wild guess).
Test 4 - shows that using .Select can extend the range and leave the original range alone.
Any hints/pointers on what's going on appreciated.
Test for WordRangeTesting v1c.docx
The below string works if the searched term exists, however if it does not - I don't get an '@error' or '@extended' - the scrip appears to just keep running?
Local $result = _Word_DocFind($oDoc, $ComString, 0, Default, True, False, True, True) I can get errors with other combination of parameters but not with the above however only the above does what i need. It seems to be the combination of:
$bMatchWholeWord that is does not like if a term can not be matched, as changing one of these allows for an error to be found but then also no matches are found.
I seek to create an 'if' statement using the above string so when it finds a match is does one set of things, and if no match is found then it does something else. With out an error being generated i can only do something when a match is found and when a match is not found the script just hangs as does not set and error so as such does not move on?
Scratching my head on this one.
Thank you in advance.
I tried a lot of techniques but still have no luck..
How can I delete the second sentence until the last sentence of a set paragraph range on a Microsoft Word document?
#include <Word.au3> Global $oWord, $oDoc $oWord = _Word_Create() $oDoc = _Word_DocGet($oWord, 1) Global Const $Count = $oDoc.Paragraphs.Count For $i = 0 To $Count - 1 $oRange = _Word_DocRangeSet($oDoc, -1, $wdParagraph, $i, $wdParagraph, 1) ; Here will be placed the missing code Next Sample of the beginning of a Word document:
This is a sentence 1. This is a sentence 2. This is a sentence 3. This is a sentence 4. This is a sentence 5. This is a sentence 6. This is a sentence 7. This is a sentence 8. This is a sentence 9. Sample of the final result:
This is a sentence 1. This is a sentence 4. This is a sentence 7.
Is there a way to get the style of a set range on a Microsoft Word document?
If there is, then how?