Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 06-04-2019, 07:40 AM
dannyZ dannyZ is offline Word VBA Help Windows 10 Word VBA Help Office 2019
Novice
Word VBA Help
 
Join Date: Jun 2019
Posts: 1
dannyZ is on a distinguished road
Default Word VBA Help

Hi All,



I'm a very noob user when it comes to word macros/VBA so I hope someone could help me without it being too much trouble.

I need a macro that will highlight every 3rd line throughout a word document.

Also if it could prompt the user to start from the beginning of the document or start from where the cursor is.

I really have no idea where to start with this and I'm hoping for some help with this if possible.
Reply With Quote
  #2  
Old 06-04-2019, 04:29 PM
Guessed's Avatar
Guessed Guessed is offline Word VBA Help Windows 10 Word VBA Help Office 2016
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,159
Guessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant future
Default

Danny

This sounds a lot like a learning task assigned by a teacher so I don't want to just give you the answer.

The first thing to discuss is the fact that 'line' is not a good term to use since it is not a fixed or easily testable thing in Word. You should be working with 'paragraphs' instead of 'lines'.

To get started, try recording a macro of you applying highlighting to a selected paragraph of text. Once you have that minimal code, post it here and we can point you to how to start performing the other steps.
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote
  #3  
Old 06-06-2019, 12:06 PM
gmaxey gmaxey is offline Word VBA Help Windows 10 Word VBA Help Office 2016
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,598
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

Danny,


I'm not going to give you the whole fish and this is a bit clunky, but you can use selection and the wdLine unit to get this started:

Code:
Sub ScratchMacro()
'A basic Word macro coded by Greg Maxey
Dim oRng As Range
Dim lngCount As Long
Dim bExit As Boolean
  Set oRng = ActiveDocument.Range
  oRng.Collapse wdCollapseStart
  Application.ScreenUpdating = False
  oRng.Select
  On Error GoTo Err_Exit
  Selection.MoveDown wdLine, 2
  Selection.Bookmarks("\line").Select
  Selection.Range.HighlightColorIndex = wdBrightGreen
  Selection.Collapse wdCollapseEnd
  Do
    lngCount = 0
    Do
      Selection.MoveDown wdLine, 1
      lngCount = lngCount + 1
      Selection.Bookmarks("\line").Select
      If Selection.Range.End + 1 = ActiveDocument.Range.End Then bExit = True
      If bExit Then Exit Do
    Loop
    If lngCount = 2 Then
      Selection.Range.HighlightColorIndex = wdBrightGreen
      Selection.Collapse wdCollapseEnd
    End If
    If bExit Then Exit Do
  Loop
lbl_Exit:
  Application.ScreenUpdating = True
  Exit Sub
Err_Exit:
  Resume lbl_Exit
End Sub
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote
Reply



Other Forums: Access Forums

All times are GMT -7. The time now is 12:46 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft