![]() |
#1
|
|||
|
|||
![]()
good morning,
![]() I state that my question on word office 2013 is rather pretentious ![]() it is possible in a word text 2013 to make a macro or a command that identifies a specific number (in my case a 4-digit number), perform an operation on that number ( in my case make a sum) and paste them immediately after a text with the result obtained? ![]() ![]() thanks for an answer ![]() |
#2
|
||||
|
||||
![]()
Finding a 4-digit number is trivial; you haven't given anywhere near enough detail, though, as to what the parameters for this 'operation' might be. For example, how does one determine whether to add, subtract, divide or multiply (in your case a summation), and what the other value(s) in this operation might be?
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
![]() Quote:
![]() the argument is that I have a long text in word 2013, with several years dates inside (e.g.: 1235 A.D., 1476 A.D., 238 B.C. etc.). So, I need to find a way to add in the text, concurrently, after these dates another date increased of 2698. E.g.: 1235 A.D., to become in the text after the 'operation': 1235 A.D. (chinese year 3933) 238 B.C., to become in the text after the 'operation': 1235 A.D. (chinese year 2460) ![]() Is that possible to do in word 2013? ![]() ![]() Thanks again for your reply |
#4
|
||||
|
||||
![]()
Try, for example:
Code:
Sub Demo() Application.ScreenUpdating = False With ActiveDocument.Range With .Find .ClearFormatting .Replacement.ClearFormatting .Text = "[0-9]{1,4} [AB].[DC]." .Replacement.Text = "" .Forward = True .Format = False .Wrap = wdFindStop .MatchWildcards = True .Execute End With Do While .Find.Found If Split(.Text, " ")(1) = "B.C." Then .InsertAfter " (chinese year " & Split(.Text, " ")(0) + 2699 & ")" ElseIf Split(.Text, " ")(1) = "A.D." Then .InsertAfter " (chinese year " & Split(.Text, " ")(0) + 2698 & ")" End If .Collapse wdCollapseEnd .Find.Execute Loop End With Application.ScreenUpdating = True End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
![]() Quote:
Thank you very much ![]() ![]() ![]() ![]() ![]() |
#6
|
||||
|
||||
![]() Quote:
For PC macro installation & usage instructions, see: http://www.gmayor.com/installing_macro.htm For Mac macro installation & usage instructions, see: https://wordmvp.com/Mac/InstallMacro.html
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#7
|
|||
|
|||
![]() ![]() ![]() ![]() Please, Mr Macropod, because unfortunately I havenīt finished yet ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
#8
|
||||
|
||||
![]()
Try:
Code:
Sub Demo() Application.ScreenUpdating = False With ActiveDocument.Range With .Find .ClearFormatting .Replacement.ClearFormatting .Text = "<[0-9]{1,4}>?????" .Replacement.Text = "" .Forward = True .Format = False .Wrap = wdFindStop .MatchWildcards = True .Execute End With Do While .Find.Found If InStr(.Text, " ") > 0 Then Select Case Split(.Text, " ")(1) Case "B.C." .Text = .Text & " (chinese year " & Split(.Text, " ")(0) + 2699 & ")" Case "A.D." .Text = .Text & " (chinese year " & Split(.Text, " ")(0) + 2698 & ")" Case Else .End = .Words.First.End .Text = .Text & " (chinese year " & .Text + 2698 & ")" End Select Else .End = .Words.First.End .Text = .Text & " (chinese year " & .Text + 2698 & ")" End If .Collapse wdCollapseEnd .Find.Execute Loop End With Application.ScreenUpdating = True End Sub PS: Please give the magenta a rest...
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#9
|
|||
|
|||
![]() ![]() hallo, ![]() ![]() ![]() the argument is that I have a long text in word 2013, with several length, weight and surface measurements inside (e.g.: 30 meters, 50 tons, 24.5 square meters). So, I need to find a way to add in the text, concurrently, after these numbers and specific measurement type another number which is the related chinese measuremente for example: 30 meters, to become in the text after the 'operation': 30 meters (990 jou) - that is the result of 960 is given multipling 30 meters for 32 145 tons, to become in the text after the 'operation': 145 tons (239,751.7 jin) - that is the result of 239,751.7 is given multipling 145 tons for 1653.46 23,000 square meters, to become in the text after the 'operation': 23,000 square meters (34.5 mu) - that is the result of 34.5 is given multipling 23,000 square meters for 0.0015 Of course the automatic operation should be done only by presence of the related words meters, tons, square meters after the numbers, and not with every number in the text Is that possible to do in word 2013? let me save time and energy ![]() Thanks again for your reply ![]() |
#10
|
||||
|
||||
![]()
The is no way to automate such conversions in typed text.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Automatically duplicate text for word templates (word 2013) | Old | Word | 1 | 04-11-2018 11:25 PM |
![]() |
oldyeller38 | Word | 10 | 04-27-2015 04:09 AM |
video operation | tomasball | PowerPoint | 0 | 10-29-2010 03:06 PM |
![]() |
ECPL_3 | Excel | 2 | 10-14-2010 05:29 PM |
![]() |
praveen_p | Excel | 2 | 04-23-2009 10:21 AM |