Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 64431 Skopiuj do schowka Dokument Worda do PDF użycie: Microsoft Print To PDF
Autor Wiadomość
zorroz
Exceloholic


Pomógł: 15 razy
Posty: 182
Wysłany: 14-03-2019, 15:12   Dokument Worda do PDF użycie: Microsoft Print To PDF

Cześć.

Potrzebuję procedury zapisującej dokument Worda jako pliki pdf (3 pliki), dla których zdefiniowałbym zakresy, np. stron (1- 12)- plik1, (25-40) - plik2, (56-80)- plik3.
Do zapisu tych plików potrzebuję użyć "Microsoft Print To PDF", (nie chcę korzystać z eksportu/ zapisu plików jako pdf).

Pliki te miałyby się zapisywać w lokalizacji aktywnego dokumentu Worda.

Próbowałem coś nagrać, ale jak przychodzi do zapisu to prosi mnie o wskazanie docelowego położenia w wyskakującym oknie.

Kod:
Sub Makro5()

    ActivePrinter = "Microsoft Print to PDF"
    Application.PrintOut _
       FileName:="", _
          Range:=wdPrintRangeOfPages, _
           Item:=wdPrintDocumentWithMarkup, _
         copies:=1, _
          Pages:="1-4", _
       PageType:=wdPrintAllPages, _
        Collate:=True, _
             Background:=True ', _
            PrintToFile:=False, _
        PrintZoomColumn:=0, _
           PrintZoomRow:=0, _
    PrintZoomPaperWidth:=0, _
   PrintZoomPaperHeight:=0
End Sub


Ktoś może wie jak to rozwiązać. Dzięki
ID posta: 364227 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Pomógł: 252 razy
Posty: 1372
Wysłany: 14-03-2019, 16:09   

Oświeć mnie: jaki to ma związek z Excel?
_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
I dbajmy - proszę - o poprawną polszczyznę.
ID posta: 364234 Skopiuj do schowka
 
 
zorroz
Exceloholic


Pomógł: 15 razy
Posty: 182
Wysłany: 15-03-2019, 09:05   

Są na forum ludzie z ogromną wiedzą i być może ktoś wie jak to zrobić lub miał już z tym do czynienia.

Jeśli jednak ma to wszystko być poprawnie, to chciałbym tą procedurę odpalać z Excela.

Albo jeszcze inaczej:
W arkuszu Excela w kolumnie a i b wpisywać zakresy stron, a w kolumnie c nazwę pliku dla zakresu.

Super, to teraz chyba zamieściłem wątek w złym dziale, później go zmienię na "Mam problem z makrem"

Dzięki za pomoc.

Poradziłem sobie: Wystarczyło przyjrzeć się dokładnie parametrom Application.PrintOut.
Wczoraj za bardzo się pośpieszyłem. :clap
  
ID posta: 364276 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Pomógł: 252 razy
Posty: 1372
Wysłany: 15-03-2019, 10:14   

Cytat:
Poradziłem sobie


No i super :-? .
_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
I dbajmy - proszę - o poprawną polszczyznę.
Ostatnio zmieniony przez umiejead 15-03-2019, 11:12, w całości zmieniany 2 razy  
ID posta: 364284 Skopiuj do schowka
 
 
apollo
ExcelSpec


Pomógł: 1229 razy
Posty: 4255
Wysłany: 15-03-2019, 10:59   

zorroz napisał/a:

Poradziłem sobie: Wystarczyło przyjrzeć się dokładnie parametrom Application.PrintOut.
Wczoraj za bardzo się pośpieszyłem.

Myślałem, że na forum pomagamy sobie wzajemnie. Jeśli ktoś, z pytającym włącznie, znajdzie rozwiązanie to się dzieli z innymi. Widocznie źle myślałem.
ID posta: 364290 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Pomógł: 252 razy
Posty: 1372
Wysłany: 15-03-2019, 11:03   

Też tak myślałem...
_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
I dbajmy - proszę - o poprawną polszczyznę.
ID posta: 364291 Skopiuj do schowka
 
 
zorroz
Exceloholic


Pomógł: 15 razy
Posty: 182
Wysłany: 15-03-2019, 12:45   

Koledzy bardzo niecierpliwi, a ja w pracy jestem.
Muszę kilka rzeczy uporządkować, ale proszę żeby nie było:

Kod w Excelu:

Kod:
Sub Bazowa()
' wymaga włączenia referencji
' References: Microsoft Word 16.0 Object Library
 Dim i As Long, ost_wiersz As Long
 Dim j As Integer, ost_kolumna As Integer
 Dim wd As Object
 Dim a As String, b As String, c As String
     ost_wiersz = Cells(Rows.Count, 1).End(xlUp).Row
     c = Range("B1")
        Set wd = CreateObject("Word.Application")
            wd.Documents.Open c
           ' wd.Visible = True
           ' wd.Visible = xlMaximized
           ' wd.Activate
     For i = 4 To ost_wiersz
         a = Cells(i, 1) & "-" & Cells(i, 2)
         b = Range("B2") & Cells(i, 3)
         wd.Run "Zapis_w_PDF", a, b ' argumenty
     Next i
     wd.Quit
     Set wd = Nothing
End Sub


Kod w Wordzie: (zamieściłem go Normal)
Kod:
Private Sub Zapis_w_PDF(item1 As String, item2 As String)

    ActivePrinter = "Microsoft Print to PDF"
    Application.PrintOut _
       FileName:="", _
          Range:=wdPrintRangeOfPages, _
           Item:=wdPrintDocumentWithMarkup, _
         copies:=1, _
          Pages:=item1, _
       PageType:=wdPrintAllPages, _
        Collate:=True, _
             Background:=True, _
             PrintToFile:=False, _
             OutputFileName:=item2
End Sub


Cytat:
Myślałem, że na forum pomagamy sobie wzajemnie. Jeśli ktoś, z pytającym włącznie, znajdzie rozwiązanie to się dzieli z innymi. Widocznie źle myślałem.


PS. Nie ustawajcie w pozytywnym myśleniu, ja też w tak myślę, a na tym forum wiele razy otrzymałem pomoc. Miłego weekendu.
ID posta: 364298 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe