MAC一键导出PPT备注
- 1.搜索自动操作
- 2.点击快速操作
- 3.搜索并运行`AppleScript`
- [4.输入代码,并选择只应用于Microsoft PowerPoint for Mac【右上角】](#4.输入代码,并选择只应用于Microsoft PowerPoint for Mac【右上角】)
- [5. CRTL+S保存为"将备注导出为txt",PPT中应用。](#5. CRTL+S保存为“将备注导出为txt”,PPT中应用。)
MAC没自带,需要自己配置
1.搜索自动操作

2.点击快速操作
第一遍可能打不开,可以尝试两次
3.搜索并运行AppleScript

4.输入代码,并选择只应用于Microsoft PowerPoint for Mac【右上角】
on pptGetAllNote(page_from as integer, page_to as integer)
set delimit to "--------------------------"
tell application "Microsoft PowerPoint"
activate
set counter to 0
set total_text to ""
repeat with slideNumber from page_from to page_to
set page_text to "(Page " & (slideNumber as text) & ")
"
tell slide slideNumber of active presentation
try
set page_note to content of text range of text frame of place holder 2 of notes page
on error
set page_note to "(Error)"
set counter to counter + 1
end try
set page_text to (page_text & page_note & "
" & delimit & "
")
set total_text to total_text & page_text & "
"
end tell
end repeat
end tell
return total_text
end pptGetAllNote
on validateInt(str_number as text)
try
set N to str_number as integer
return {0, N}
on error number errorNumber
return {-1, -1}
end try
end validateInt
on validateInput(page_from_to as text, num_slides as integer)
set {flag, page_from, page_to} to {-1, -1, -1}
set oldDelims to my text item delimiters -- save the current delimiters
set my text item delimiters to {"-", "~", "~"} -- the character to split on
set num to (count of text items of page_from_to)
if num = 1 then
# single page
set {flag1, page_from} to my validateInt(first text item of page_from_to)
if flag1 = 0 and page_from > 0 and page_from ≤ num_slides then set {flag, page_to} to {0, page_from}
else if num = 2 then
# multiple pages
set {flag1, page_from} to my validateInt(first text item of page_from_to)
set {flag2, page_to} to my validateInt(second text item of page_from_to)
if flag1 = 0 and flag2 = 0 and page_from > 0 and page_from ≤ num_slides and page_from ≤ page_to and page_to > 0 and page_to ≤ num_slides then set flag to 0
end if
set my text item delimiters to oldDelims -- just to be safe, restore the old delimiters
return {flag, page_from, page_to}
end validateInput
on run {input, parameters}
set userLocale to user locale of (system info)
tell application "Microsoft PowerPoint" -- version: 2019
set ppt_name to name of active presentation
set num_slides to count of slides of active presentation
set cur_page to slide number of slide of view of active window
if cur_page is missing value then
set tips to ""
else
set tips to "
[当前页码为 " & cur_page & "]"
end if
if num_slides = 1 then
set default_ans to "1"
else
set default_ans to "1-" & (num_slides as text)
end if
set page_from_to to the text returned of (display dialog "请输入要处理的 PPT 页码范围" & tips & ":" default answer default_ans with title "提取 PPT 文本框内容" with icon note)
set {flag, page_from, page_to} to my validateInput(page_from_to, num_slides)
repeat while flag ≠ 0
set page_from_to to the text returned of (display dialog "请输入要处理的 PPT 页码范围
[请确保页码范围有效]:" default answer default_ans with title "提取 PPT 文本框内容" with icon caution)
set {flag, page_from, page_to} to my validateInput(page_from_to, num_slides)
end repeat
end tell
set content_to_write to pptGetAllNote(page_from, page_to)
set filename to POSIX path of (((path to desktop folder) as text) & ppt_name & ".txt")
(*
tell application "TextEdit"
activate
set newDoc to (make new document with properties {text:(content_to_write as Unicode text)})
end tell
*)
do shell script "cat > " & filename & " << 'EOF'
" & content_to_write as Unicode text & "
'EOF'"
set file_path to filename as POSIX file
tell application "Finder" to open file file_path
end run

5. CRTL+S保存为"将备注导出为txt",PPT中应用。
![请添加图片描述](https://i-blog.csdnimg.cn/direct/17d9dfc416df4b09b71a23af28a5e179.png
参考: