Skip to content

ppt moderncomment

goworm edited this page Jun 26, 2026 · 1 revision

PowerPoint: Modern Comment

Modern (Office 2018+) threaded comments — a distinct OOXML element from the legacy slide comment, with author-attributed top-level threads and nested replies.

Path: /slide[N]/modernComment[K]

Replies are addressed as /slide[N]/modernComment[K]/reply[R] and surface as children when you get the top-level node.

Operations

  • add - Create a top-level thread, or a reply when parent is supplied
  • set - Edit an existing comment or reply in place
  • get - Read a comment and its nested replies
  • query - List modern comments
  • remove - Delete a thread (removing a top-level path removes the whole thread)

add

Parent: /slide[N]

Property Required/Default Description
text Comment body (plain text — rich-text replies deferred)
author Author name
initials derived from author name Author initials
created DateTime.UtcNow ISO-8601 timestamp
resolved Thread-level resolved state (top-level only; rejected on a reply path)
parent Path of an existing top-level modernComment to reply to. Supplying parent= turns the new comment into a reply nested under that thread; empty/missing creates a top-level comment.

set

Property Required/Default Description
text Comment body (plain text — rich-text replies deferred)
author Author name
initials Author initials
created ISO-8601 timestamp; accepts any ISO-8601 string, normalized to UTC Z form on readback
resolved Thread-level resolved state. Applies only to top-level comments; set on a reply path is rejected as unsupported.

get Attributes

Attribute Type Description
author string Author name
initials string Initials
text string Comment body text
resolved bool Thread-level resolved state (true/false)
created string ISO-8601 UTC timestamp
parent string Parent comment path, or null for top-level
id string GUID identifier assigned by the engine on add, in {…} form

Examples

# Add a top-level threaded comment
officecli add slides.pptx /slide[1] --type modernComment \
  --prop author="Alice" --prop initials=A \
  --prop text="Please review"

# Add a reply nested under an existing thread
officecli add slides.pptx /slide[1] --type modernComment \
  --prop author="Bob" \
  --prop text="Looks good" \
  --prop parent='/slide[1]/modernComment[1]'

# Add with an explicit timestamp
officecli add slides.pptx /slide[1] --type modernComment \
  --prop author="Alice" --prop text="Draft note" \
  --prop created=2026-01-15T10:30:00Z

# Read a thread and its nested replies
officecli get slides.pptx '/slide[1]/modernComment[1]'

# Mark a thread resolved
officecli set slides.pptx /slide[1]/modernComment[1] --prop resolved=true

# Edit the body text
officecli set slides.pptx /slide[1]/modernComment[1] --prop text="Approved"

# List all modern comments
officecli query slides.pptx modernComment

# Remove a thread (removes all of its replies)
officecli remove slides.pptx /slide[1]/modernComment[1]

Notes

  • These are modern Office 2018+ threaded comments, a distinct OOXML element from the legacy /slide[N]/comment[M].
  • Top-level threads live in the PowerPoint comment part; authors live in the presentation-level authors part.
  • Replies are nested as /slide[N]/modernComment[K]/reply[R] and surface as children on get of the top-level node.
  • resolved is a thread-level state and applies only to top-level comments; setting it on a reply path is rejected as unsupported.
  • Removing a top-level path removes the whole thread, mirroring the PowerPoint UI.
  • initials defaults to a value derived from the author name when omitted; created defaults to the current UTC time on add.
  • id is a GUID assigned by the engine on add and is read-only.

See Also


Based on OfficeCLI v1.0.119

Clone this wiki locally