logo
search
VBA & Macro Problems

How to Export Word Comment Resolved Status to Excel with VBA

Khadija KhanKhadija Khan Oct 22, 2026 868 views

Question details

The user needs to modify an existing Word VBA macro to include whether each document comment is marked as done (resolved) when exporting comment details to an Excel spreadsheet.

How to Export Word Comment Resolved Status to Excel Using VBA
Product
Microsoft Word
Device & OS
not provided
Scenario
Extracting document review comments into a spreadsheet for organized tracking, requiring visibility on which feedback items have already been addressed.
Observed behavior
The current macro successfully exports basic details like index, page, paragraph, text, reviewer, and date, but it lacks a column to indicate the resolved status of each comment.
Before you start

Ensure you have the Developer tab enabled in Microsoft Word's ribbon to access the Visual Basic editor, and verify that your existing macro already successfully connects to Excel and exports the basic comment data.

Solution 1Recommended

Use the Comment.Done Property in Your VBA Macro

Update your existing VBA script by adding a new Excel column heading and extracting the resolved status using Word's built-in Comment.Done property.

In modern versions of Microsoft Word, comments can be marked as resolved. The VBA object model exposes this state through the 'Done' boolean property of the Comment object.

By adding a new column to your Excel output and assigning it the value of this property during your iteration loop, you can accurately track which comments are still open.

1
Open the Visual Basic Editor

Press Alt + F11 in Microsoft Word to open the VBA Editor, then navigate to the module containing your comment export macro.

2
Add the Column Heading

Locate the section of your code where Excel column headings are defined. Add a line to create a 'Resolved' heading in the 8th column (or your next available column): .Cells(HeadingRow, 8).Formula = "Resolved"

3
Extract the Done Property

Inside your loop that iterates through the comments, add the following line to pull the status into the corresponding row: .Cells(i + HeadingRow, 8).Value = ActiveDocument.Comments(i).Done

4
Run and Verify the Macro

Save your code and run the macro. Check the newly generated Excel file; the 'Resolved' column should now display TRUE for resolved comments and FALSE for open ones.

Use the Comment.Done Property in Your VBA Macro
Property Availability: The Comment.Done property is available in newer versions of Microsoft Office. If you run this script in older environments that do not support the threaded comment model, it may trigger a runtime error.
Free Microsoft Office alternative

Review and Manage Documents Effortlessly with WPS Office

If you are managing extensive document reviews, macros, and data extraction, WPS Office offers a powerful, lightweight, and free alternative to Microsoft Office. It seamlessly handles familiar formats and review processes.

  1. 1. Download the Software: Visit the official WPS Office website and download the free installation package for your operating system.
  2. 2. Install and Launch: Run the setup file and follow the on-screen prompts. Once installed, launch the application to access Writer, Spreadsheet, and Presentation.
  3. 3. Open Your Document: Simply drag and drop your .docx file into WPS Writer to view, manage, and resolve comments natively without formatting loss.
Highly compatible with Microsoft Word (.docx) and Excel (.xlsx) formatsBuilt-in, intuitive document review and comment tracking toolsSupports advanced scripting and automation in premium versionsFamiliar user interface ensuring a zero-learning-curve migration
microsoft office alternative - wps office

Frequently Asked Questions

Why does Comment.Done return an error in older Word versions?

The Comment.Done property was introduced in newer iterations of Microsoft Word alongside the modern threaded commenting system. In older versions (like Word 2010), this property does not exist in the VBA object model, resulting in a 'Method or data member not found' compilation or runtime error.

How do I loop through all comments in a Word document using VBA?

You can use a 'For Each' loop iterating over the ActiveDocument.Comments collection (e.g., For Each cmt In ActiveDocument.Comments), or a standard 'For' loop using an index from 1 to ActiveDocument.Comments.Count.

Can I export comment replies using the same VBA macro?

Replies are handled differently depending on your Word version. In modern threaded comments, replies belong to the Comment.Replies collection of a parent comment. You will need to add a nested loop inside your main comment loop to extract data from cmt.Replies.

How do I change 'True/False' to 'Yes/No' in the Excel output?

Instead of writing the boolean directly to the cell, you can use an If statement in your VBA code: If ActiveDocument.Comments(i).Done = True Then .Cells(...).Value = "Yes" Else .Cells(...).Value = "No" End If.