|
|
Thread Tools | Display Modes |
#16
|
|||
|
|||
Okay, that worked.
It turned out that sometimes there is a space after "published," and sometimes there isn't. So what I did is: Code:
Case "Published " If .Cells(1).ColumnIndex = 1 Then .Cells(1).Next.Range.Text = "2 April 2021" End If Case "Published" If .Cells(1).ColumnIndex = 1 Then .Cells(1).Next.Range.Text = "2 April 2021" End If Would you mind providing some guidance on what this means? Code:
.Text = "[PR][eu][bv][ils]{3}[ehno]{2}[ Ndo]{1,3}" |
#17
|
||||
|
||||
It would be better to use:
Select Case Trim(.Text) and: Case "Published"
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#18
|
|||
|
|||
As you command it, so shall it be done.
Much like Bartles & James, I thank you again for your support. |
#19
|
||||
|
||||
Quote:
• [PR] says to find either P or R; • [eu] says to find either e or u; • [bv] says to find either b or v; • [ils]{3} says to find any 3-letter combination consisting of i, l, and/or, s; • [ehno]{2} says to find any 2-letter combination consisting of e, h, n, and/or o • [ Ndo]{,1 3} says to find any 1- to 3-letter combination consisting of a space, N, d, and/or, o. Whilst the character combination possibilities are almost endless, the reality is that, given the words used in the English language, such an expression is unlikely to Find anything other than 'Revision No' or 'Published' (with or without the trailing space for the latter).
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#20
|
|||
|
|||
Interesting. Why was that step necessary? Why can't we just skip to the Do While loop, where we start checking to see what's actually in the cell?
|
#21
|
||||
|
||||
Generally speaking, using Find is quicker than looping through all rows.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#22
|
|||
|
|||
But there were only four rows. Now if I want to change the code to have it search for more things, I have to play around with that expression.
Could you please show me how to do it with just a loop, so I'll know? |
#23
|
||||
|
||||
Quote:
Quote:
Quote:
Code:
Dim Tbl As Table, r As Long For Each Tbl In wdDoc.Tables With Tbl For r = 1 To .Rows.Count Select Case Trim(Split(.Cell(r, 1).Range.Text, vbCr)(0)) Case "Revision No.": .Cell(r, 2).Range.Text = "2.5" Case "Published": .Cell(r, 2).Range.Text = "2 April 2021" End Select Next End With Next
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#24
|
|||
|
|||
Sorry for not being more clear.
The number of tables in the document varies, but the changes that I want to make are always to the first table. always to the second column, and the table itself is never more than about five rows tall. |
#25
|
|||
|
|||
And now I'm getting a run-time error. I'm not sure why. I can't figure out what about the situation has changed. I went back through the thread and re-pasted every bit of code and every change to be sure, and I also moved the files from one location to another. I've also tried restarting Word, and my computer.
The error says: "Run-time error '5174': Sorry, we couldn't find your file. Was it moved, renamed, or deleted?" The line of code that this error happens on is: Code:
Set wdDoc = Documents.Open(FileName:=strFolder & "" & strFile, AddToRecentFiles:=False, Visible:=False) I feel like this must be something happening on my end outside the program, but I can't imagine what it could be. |
#26
|
||||
|
||||
Code:
Set wdDoc = Documents.Open(FileName:=strFolder & "" & strFile, AddToRecentFiles:=False, Visible:=False) Code:
Set wdDoc = Documents.Open(FileName:=strFolder & "\" & strFile, AddToRecentFiles:=False, Visible:=False)
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#27
|
||||
|
||||
Quote:
Code:
Dim r As Long With wdDoc.Tables(1) For r = 1 To .Rows.Count Select Case Trim(Split(.Cell(r, 1).Range.Text, vbCr)(0)) Case "Revision No.": .Cell(r, 2).Range.Text = "2.5" Case "Published": .Cell(r, 2).Range.Text = "2 April 2021" End Select Next End With
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#28
|
|||
|
|||
I made your correction to "Set wdoc" (adding the slash), but now I get "Runtime error 5, invalid procedure call or argument" on:
Code:
FileName = Mid(myPath, InStrRev(myPath, "") + 1, _ InStrRev(myPath, ".") - InStrRev(myPath, "") - 1) |
#29
|
|||
|
|||
So, I see that the slashes are missing from that code I just entered above. I added them back, and am now getting the error here (invalid procedure call or argument).
Code:
'Store Information About Word File myPath = ActiveDocument.FullName CurrentFolder = ActiveDocument.Path & "\" FileName = Mid(myPath, InStrRev(myPath, "\") + 1, _ InStrRev(myPath, ".") - InStrRev(myPath, "\") - 1) |
#30
|
||||
|
||||
Is there any reason for not using the filename code I provided in post #4?
And no, the macro is not deleting the path separators. Any error there is in your copying/pasting of the code - most likely when copying from an on-line post.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
Tags |
tables, vba, vba find and replace |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Find and Replace rows in a table based on bold text. | OfficeAssociate99 | Word VBA | 2 | 07-26-2017 06:32 AM |
Select Cell Text to paste into Find/Replace | CBarry | Word VBA | 2 | 02-16-2017 04:37 AM |
Increase number in cell, based on value in adjacent cell | scottyb | Excel | 3 | 02-02-2017 03:51 AM |
VBA Table – Search All Tables - Find & Replace Text in Table Cell With Specific Background Color | jc491 | Word VBA | 8 | 09-30-2015 06:10 AM |
Word VBA Find Table Text Shading Colour and replace with another | QA_Compliance_Advisor | Word VBA | 10 | 09-19-2014 08:36 AM |