All templates
Desktop AutomationAdvanced
Share PowerPoint File as PDF
Robomotion•Updated 11 months ago

Overview
Opens a .pptx file, exports it to PDF, and saves it next to the original. Automates a common office pipeline end to end.
Share PowerPoint File as PDF
Handling Windows and desktop applications is an essential part of most automation scenarios. UI automation nodes and recording enable you to launch applications like Microsoft PowerPoint, navigate through their environment, and automate repetitive tasks on them.
What Share PowerPoint File as PDF can do
- Download Fixtures subflow, then build
msg.fixtures_dirandmsg.deck_pptx(a sample deck under$Home$/templates/desktop-automation/share-powerpoint-file-as-pdf/fixtures). - Three Input Dialogs collect the
.pptxpath (msg.selected_powerpoint), recipient email (msg.recipient_email) and sender email (msg.sender_email). - Derive Paths (
Core.Programming.Function,outputs: 2) — validates a.pptxextension; splits the path intomsg.directory,msg.file_name_no_ext, andmsg.pdf_path; invalid input short-circuits toCore.Flow.Stop. - Build and run a PowerShell SaveAs script via
Core.Process.StartProcess— opens the deck with PowerPoint COM, callsSaveAs(pdf, 32, $false)(ppSaveAsPDF), and captures stdout asmsg.export_output. - Send Email Via Outlook subflow dispatches the PDF, then a Message Box confirms
PowerPoint exported and email dispatched..
Behind the scenes
- Retries around transient failures are wired with
Core.Trigger.Catch+ a counter in a Function node and aCore.Programming.Sleepbetween attempts, short-circuiting toCore.Flow.Stopafter N retries. - The PowerShell COM path (
PowerPoint.Application→SaveAs(…, 32, $false)) avoids driving the Save-As dialog at all, so there is no filename field to populate — the.pdfextension lives inmsg.pdf_pathand is passed in directly.
More desktop automation templates
See all 17 →- Every customer from a CSVThe Windows Recorder's customer task run for every row of a CSV file, each typed value replaced by the row's field, with a Catch that logs a row the app will not take and goes on with the next.
- Putting it togetherOne flow over three systems. Headless Chrome reads today's web orders from Acme ERP Web, the finance system is asked about each customer over Remote Desktop, and the orders with nothing overdue are entered into Acme ERP for Windows, line by line, with a report at the end.
- Reading from a Java applicationA flow that signs in to Acme ERP (Java Edition), reads a customer's credit limit and the fasteners in the product table, works out how many boxes of each the limit covers, and writes the answer to a CSV file.
- Reading over Remote DesktopA flow that logs on to Acme ERP over Remote Desktop, reads the outstanding and overdue totals off the Invoices screen with OCR, each anchored to its label, and writes the overdue share to a CSV file.
- Slow sessionsA flow recorded on a good Remote Desktop session that logs on and updates a customer's email, phone and notes in Acme ERP, and still gets every value right on a slow session that loses keystrokes.
- Windows dialogs and gridsA flow that signs in to Acme ERP for Windows, waits for its orders grid, reads it with Get Table Data, exports the orders on hold through the Save As dialog, and closes the app answering its "Save changes?" question.