Office Script: automatyczne wysyłanie raportu PDF mailem – z przyciskiem na arkuszu

type script Excel

Skrypt: zapisz arkusz jako PDF i wyślij mailem

Poniższy skrypt konwertuje skoroszyt do PDF i wysyła go mailem do wskazanego odbiorcy – bez VBA, bez Power Automate, bez żadnych zewnętrznych konektorów. Czyli : office script pdf email

/**
 * Ten skrypt zapisuje dane z Excela i wysyła raport mailem
 */
function main(workbook: ExcelScript.Workbook) {
    // Tworzymy PDF.
    const pdfObject = OfficeScript.convertToPdf();
    const pdfFile = { name: "raport.pdf", content: pdfObject }; // Podaj swoją nazwę
    // wysyłamy mail z pdf.
    OfficeScript.sendMail({
        to: "name@email.com", // Podajemy adresata.
        subject: "[Demo] Monthly Sales Report", // wpisz temat maila
        content: "Cześć, wysyłam raport miesięczny", // tu wpisz treść wiadomości
        attachments: [pdfFile]
    })
}

Ważne: OfficeScript.convertToPdf() i OfficeScript.sendMail() to metody wbudowane bezpośrednio w Office Scripts od aktualizacji ze stycznia 2026 roku. Nie potrzebujesz do tego Power Automate ani żadnego zewnętrznego łącznika – mail wysyłany jest bezpośrednio z konta Outlook osoby uruchamiającej skrypt.

Czego potrzebujesz, żeby to zadziałało

  • Subskrypcji Microsoft 365 – dowolnej: biznesowej, enterprise, E1, F3, lub personal/family w wersji preview
  • Excela na Windows, Mac lub w wersji web (skrypt działa na wszystkich)
  • Uprawnień administratora tenanta do korzystania z Office Scripts (jeśli pracujesz w firmie – czasem ta funkcja jest domyślnie wyłączona)

Jedna pułapka, o której warto wiedzieć

convertToPdf() konwertuje tylko widoczne arkusze. Jeśli masz w skoroszycie ukryte karty pomocnicze (np. z obliczeniami czy danymi źródłowymi), PDF automatycznie je pominie – w większości przypadków to pożądane zachowanie, ale warto to sprawdzić przed wysyłką, jeśli Twój raport ma konkretną, oczekiwaną zawartość.


Jak dodać przycisk uruchamiający skrypt na arkuszu

Zamiast za każdym razem wchodzić w menu Automate i szukać skryptu na liście, możesz dodać klikalny przycisk bezpośrednio na arkuszu – wygodne rozwiązanie, jeśli z raportu korzysta ktoś mniej techniczny w zespole.

Krok 1: Zapisz skrypt

Otwórz kartę Automate → New Script, wklej powyższy kod, zamień name@email.com na docelowy adres odbiorcy, dostosuj temat i treść maila, a następnie zapisz skrypt pod czytelną nazwą (np. WyślijRaportPDF).

Krok 2: Znajdź skrypt na liście w panelu Automate

Zapisany skrypt pojawi się na liście w panelu Automate po prawej stronie ekranu.

Krok 3: Dodaj przycisk

Kliknij ikonę trzech kropek (…) obok nazwy skryptu i wybierz „Add button” (Dodaj przycisk).

Excel doda przycisk bezpośrednio na arkuszu – mały prostokąt z ikoną skryptu, który możesz swobodnie przeciągnąć w dowolne miejsce i dopasować rozmiar.

Krok 4: Gotowe – kliknij i testuj

Od teraz wystarczy, że ktoś kliknie przycisk na arkuszu, a skrypt uruchomi się automatycznie – konwersja do PDF i wysyłka maila dzieją się w tle, bez wchodzenia w żadne menu.

Ważna uwaga

Przycisk jest przypisany do konkretnego pliku. Jeśli skopiujesz arkusz do nowego skoroszytu albo wyślesz komuś kopię pliku, przycisk trzeba będzie dodać ponownie w nowym pliku – sam kod skryptu możesz jednak wkleić bez zmian.


Podsumowanie

Dzięki OfficeScript.convertToPdf() i OfficeScript.sendMail() możesz zbudować w pełni automatyczny proces raportowania – od kliknięcia przycisku na arkuszu, przez konwersję do PDF, aż po wysyłkę maila – bez ani jednej linijki VBA i bez konfigurowania Power Automate. To rozwiązanie idealne dla cyklicznych raportów (miesięcznych, tygodniowych), które regularnie trafiają do tych samych odbiorców.

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry