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: 63847 Skopiuj do schowka Korespondencja seryjna zapisywanie do oddzielnych plików
Autor Wiadomość
Ramzees
Starszy Forumowicz


Posty: 40
Wysłany: 18-01-2019, 10:43   Korespondencja seryjna zapisywanie do oddzielnych plików

Witajcie,
znalazłem w sieci makro generujące raporty w oparciu o baze excela- korespondencja seryjna- ponadto makro zapisywało pojedyncze Wordy w wybranej lokalizacji a nazwa pliku = nazwisku z listy

podczas uruchamiania pojawia sie jednak blad


"Żądany element kolekcji nie istnieje"
:oops:


zastosowane makro w wordzie:


Kod:
Sub Makro1()
Application.ScreenUpdating = False
Application.Browser.Target = wdBrowsePage

For i = 1 To ActiveDocument.MailMerge.DataSource.RecordCount
    'nazwa pliku - jedno z pól korespondencji seryjnej
    FName = ActiveDocument.MailMerge.DataSource.DataFields("nazwisko").Value
 
   
    ActiveDocument.Bookmarks("C:\korespond\").Range.Copy

    Documents.Add
    Selection.Paste

    Selection.TypeBackspace   'usunięcie drugiej,pustej strony

    ActiveDocument.SaveAs FileName:="C:\korespond\" & FName & ".docx"
    ActiveDocument.Close

    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord   'przejście do kolejnego rekordu
Next i

Application.ScreenUpdating = True
End Sub



w kodzie do ustawienia jest lokalizacja zapisu poj. plików: C:\korespond\

załaczam excela i worda

przyjme krytyczne uwagi co jeszcze powinno zostać poprawione by to działało

newprotok.docm
Pobierz Plik ściągnięto 21 raz(y) 20.05 KB

adresaci_word.xlsx
Pobierz Plik ściągnięto 20 raz(y) 9.89 KB

ID posta: 360789 Skopiuj do schowka
 
 
Tajan


Pomógł: 4309 razy
Posty: 9583
Wysłany: 18-01-2019, 12:04   

Brakuje ci zakładki w dokumencie Word. Należy utworzyć zakładkę do tekstu który ma być drukowany i wpisać jej nazwę w linii:
Kod:
ActiveDocument.Bookmarks("C:\korespond\").Range.Copy
zamiast "C:\korespond\".
ID posta: 360800 Skopiuj do schowka
 
 
Ramzees
Starszy Forumowicz


Posty: 40
Wysłany: 18-01-2019, 15:56   

zgadza sie, dziekuje :) poprawione i działa,

wygenerowane .doci sa jednak zapisywane z "łączami"/polami;

czy da rade dopisać linijke kodu, który by te "łącza" kasował przed zapisaniem do pojedynczego pliku?
Albo opcja druku do pdf?
ID posta: 360826 Skopiuj do schowka
 
 
Tajan


Pomógł: 4309 razy
Posty: 9583
Wysłany: 18-01-2019, 17:48   

Po linii
Kod:
Selection.Paste
wstaw:
Kod:
ActiveDocument.Fields.Unlink
ID posta: 360828 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