#1
|
|||
|
|||
Exporting comments from word to excel - Comment.Parent property issue
Hi all,
I'm trying to create a macro which can export comments from word to excel, so far I have this: Sub ExportComments() ' Note: A reference to the Microsoft Excel # Object Library is required, set via Tools|References in the Word VBE. Dim StrCmt As String, StrTmp As String, i As Long, j As Long, xlApp As Object, xlWkBk As Object StrCmt = "Page,Line,Author,Date & Time,Comment,Reference Text" StrCmt = Replace(StrCmt, ",", vbTab) With ActiveDocument ' Process the Comments For i = 1 To .Comments.Count With .Comments(i) StrCmt = StrCmt & vbCr & .Reference.Information(wdActiveEndAdjustedPageNumb er) & vbTab StrCmt = StrCmt & .Reference.Information(wdFirstCharacterLineNumber) & vbTab & .Author & vbTab StrCmt = StrCmt & .Date & vbTab & Replace(Replace(.Range.Text, vbTab, "<TAB>"), vbCr, "<P>") StrCmt = StrCmt & vbTab & Replace(Replace(.Scope.Text, vbTab, "<TAB>"), vbCr, "<P>") StrCmt = StrCmt & vbTab & IIf(.Parent Is Nothing, "Not a Parent", "Is a Parent") StrCmt = StrCmt & vbTab & IIf(.Done, "Resolved", "Not Resolved") End With Next End With ' Test whether Excel is already running. On Error Resume Next Set xlApp = GetObject(, "Excel.Application") 'Start Excel if it isn't running If xlApp Is Nothing Then Set xlApp = CreateObject("Excel.Application") If xlApp Is Nothing Then MsgBox "Can't start Excel.", vbExclamation Exit Sub End If End If On Error GoTo 0 With xlApp Set xlWkBk = .Workbooks.Add ' Update the workbook. With xlWkBk.Worksheets(1) For i = 0 To UBound(Split(StrCmt, vbCr)) StrTmp = Split(StrCmt, vbCr)(i) For j = 0 To UBound(Split(StrTmp, vbTab)) .Cells(i + 1, j + 1).Value = Split(StrTmp, vbTab)(j) Next Next .Columns("A: D").AutoFit End With ' Tell the user we're done. MsgBox "Workbook updates finished.", vbOKOnly ' Switch to the Excel workbook .Visible = True End With ' Release object memory Set xlWkBk = Nothing: Set xlApp = Nothing End Sub However the (StrCmt = StrCmt & vbTab & IIf(.Parent Is Nothing, "Not a Parent", "Is a Parent") property doesn't actually show whether the comment is a parent or not (it labels all of them as parents, even the responses) so I need to replace it with StrCmt = StrCmt & vbTab & IIf(.Replies = 0, "Not a Parent", "Is a Parent"). When I tried replacing and running the macro again I get an error popping up saying "compile error argument not optional". I'm not familiar with coding language so would anyone be able to help me figure out how to fix this? thank you! |
#2
|
|||
|
|||
You need
Code:
StrCmt = StrCmt & vbTab & IIf(.Replies.Count = 0, "Not a Parent", "Is a Parent") |
#3
|
||||
|
||||
I think your logic is flawed. Having no replies doesn't mean the comment is a child-level comment. Instead you should be looking for presence of an Ancestor - top level comments don't have an ancestor. Then you can loop through any replies if they exist. Here is a snippet of code I'm currently using...
Code:
For Each aCmt In wdDoc.Comments If aCmt.Ancestor Is Nothing Then 'a top level comment 'do something If aCmt.Replies.Count > 0 Then For i = 1 To aCmt.Replies.Count Set aReply = aCmt.Replies(i) 'do something with the replies Next i End If End If Next aCmt
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#4
|
|||
|
|||
perfect, thank you!
|
#5
|
|||
|
|||
Quote:
|
#6
|
|||
|
|||
You would replace
Code:
StrCmt = StrCmt & vbTab & IIf(.Parent Is Nothing, "Not a Parent", "Is a Parent") Code:
StrCmt = StrCmt & vbTab & IIf(.Ancestor Is Nothing, "Not a Parent", "Is a Parent") |
#7
|
|||
|
|||
Quote:
|
#8
|
|||
|
|||
Hi, I tried replacing this but it still classes the parent comment as not a parent? :/
|
#9
|
|||
|
|||
Quote:
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Parent/Child Comment Extract | amschaefer | Word VBA | 1 | 10-19-2023 11:41 PM |
[Reviving solved thread for additional help] Exporting Tracked Changes and Comments to Excel | mjungli | Word VBA | 4 | 01-11-2023 09:39 AM |
Exporting Tracked Changes and Comments to Excel | alzasp | Word VBA | 14 | 06-14-2022 02:13 AM |
How to hide comments and comment indicators from OTHERS | Elena A | Excel | 0 | 12-03-2014 12:08 PM |
Exporting Word Comments into a pdf | blhowes | Word | 5 | 01-09-2010 12:31 PM |