Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #6  
Old 05-15-2021, 01:12 AM
Guessed's Avatar
Guessed Guessed is offline Macro to maintain formatting OR to delete all text (excluding comments) Windows 10 Macro to maintain formatting OR to delete all text (excluding comments) Office 2016
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,176
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

I think Paul has solved the issue with the local formatting but there was a mix up with the r and n variables. His code doesn't bring across the paragraph style either. So using his lead, try this variant
Code:
Sub AnalyseComments()
  Dim oDoc As Document, oNewDoc As Document, oTable As Table
  Dim aCom As Comment, nCount As Long, n As Long, aRng As Range
  
  Set oDoc = ActiveDocument
  nCount = ActiveDocument.Comments.Count
  
  'Create a new document for the comments
  Set oNewDoc = Documents.Add(Template:=ActiveDocument.FullName)
  oNewDoc.Range.Delete
  
  'Insert a 4-column table for the comments
  With oNewDoc
    .Content = ""
    Set oTable = .Tables.Add(Range:=Selection.Range, NumRows:=nCount + 1, NumColumns:=4)
  End With
  
  With oTable.Rows(1)
    .Range.Font.Bold = True
    .Cells(1).Range.Text = "Page"
    .Cells(2).Range.Text = "Comment scope"
    .Cells(3).Range.Text = "Comment text"
    .Cells(4).Range.Text = "Author"
  End With
  
  'Get info from each comment from oDoc and insert in table
  For n = 1 To nCount
    Set aCom = oDoc.Comments(n)
    With oTable.Rows(n + 1)
      .Cells(1).Range.Text = aCom.Scope.Information(wdActiveEndPageNumber)      'Page number
      Set aRng = .Cells(2).Range
      With aRng
        .Style = aCom.Scope.Paragraphs(1).Style
        .End = .End - 1
        .FormattedText = aCom.Scope.FormattedText
      End With
      .Cells(3).Range.Text = aCom.Range.Text    'The comment itself
      .Cells(4).Range.Text = aCom.Author    'The comment author
    End With
  Next n
  
  oNewDoc.Activate
  MsgBox "Finished creating comments document."
  
  Set oDoc = Nothing
  Set oNewDoc = Nothing
  Set oTable = Nothing

End Sub
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote
 

Tags
macro, vba, word macro



Similar Threads
Thread Thread Starter Forum Replies Last Post
VBA macro to change author name in tagged comments, then delete the tags mjt Word VBA 0 01-28-2021 08:48 AM
Macro to highlight and bolden specific text in Word Comments PCUSER Word VBA 1 09-22-2020 03:08 PM
Macro to maintain formatting OR to delete all text (excluding comments) Formula to delete but maintain counts after the maximum has been reached wheddingsjr Excel 2 01-03-2018 01:49 PM
Form won't maintain formatting SBrant Word 0 02-10-2011 10:29 AM
Macro to maintain formatting OR to delete all text (excluding comments) Maintain formatting while copying text from word, and pasting into a webpage. kdogg121 Word 1 07-07-2009 02:50 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 11:09 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