Przesunięty przez: Kaper 18-12-2020, 14:14 |
Word zamiana podziału sekcji |
Autor |
Wiadomość |
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 16-12-2020, 13:00 Word zamiana podziału sekcji
|
|
|
Cześć
mam dokument Worda, a w nim podziały sekcji na następnej stronie nieparzystej, czy wie ktoś jak za pomocą VBA zamienić je na podziały sekcji na stronie parzystej?
Dokument jest obszerny i wiele podziałów, zmiana ręczna nie wchodzi w rachubę, a cała sprawa się sprowadza do tego, żeby w nowym, zmienianym dokumencie wyeliminować puste strony, które są w oryginale. |
|
 | ID posta:
396630
|
|
|
 |
|
|
|
J_B
Excel Expert

Wersja: Win Office 2016
Pomógł: 541 razy Posty: 1339
|
Wysłany: 16-12-2020, 15:18
|
|
|
zorroz napisał/a: | Dokument jest obszerny i wiele podziałów, |
Jak załączysz przykładowy plik może da się coś zrobić
Nie musi być cały wystarczy 2 parzyste i 2 nieparzyste strony
Janusz |
|
 | ID posta:
396633
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 16-12-2020, 19:43
|
|
|
Dodałem prosty załącznik.
Właściwie to chodzi o zamianę na podział sekcji na nowej stronie, nie koniecznie na podział sekcji na stronie parzystej, po prostu chodzi o eliminację pustych stron.
tekst.docx
|
Pobierz Plik ściągnięto 19 raz(y) 69.19 KB |
|
|
 | ID posta:
396648
|
|
|
 |
|
|
J_B
Excel Expert

Wersja: Win Office 2016
Pomógł: 541 razy Posty: 1339
|
Wysłany: 16-12-2020, 21:11
|
|
|
zorroz napisał/a: | prostu chodzi o eliminację pustych stron. |
Problem w tym że w załączonym dokumencie nie ma pustych stron
W załączniku masz makro które usuwa puste odstępy
Sprawdź może będzie ok
Janusz
tekst2.docm
|
Pobierz Plik ściągnięto 17 raz(y) 77.34 KB |
|
|
 | ID posta:
396660
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 16-12-2020, 21:40
|
|
|
Czyli jestem nieprecyzyjny, w tym o co mi chodzi.
Gdybym wydrukował ten załacznik lub zapisał w pliku PDF, wtedy pojawiłyby się puste strony.
Kiedy tekst kończy się na stronie nieparzystej i po nim jest wstawiony "Podział sekcji na nastepnej stronie nieparzystej", to dalszy tekst zobaczymy dopiero na stronie nieparzystej. Strona pomiędzy (parzysta), po mimo, że nie widać jej w Wordzie jest pusta. (również wyjdzie to w PDF).
I oto właśnie chodzi, żeby ich nie było. Załatwiła to by zamiana podziału sekcji.
Tu nie chodzi o usuwanie linii, a stron na których nic nie ma, a służą tylko do wydruku, żeby było ładniej |
|
 | ID posta:
396665
|
|
|
 |
|
|
J_B
Excel Expert

Wersja: Win Office 2016
Pomógł: 541 razy Posty: 1339
|
Wysłany: 16-12-2020, 21:54
|
|
|
Cytat: |
Tu nie chodzi o usuwanie linii, a stron na których nic nie ma, a służą tylko do wydruku, żeby było ładnie |
Uruchom makro i sprawdź jak wyglądają strony na wydruku
W mojej ocenie teraz wygląd stron jest poprawny ale może się mylę
To że zatytułowałem makro "UsunPusteLinie" nie oznacza że usuwa linie
Pewnie dla każdego ładniej może znaczyć co innego
Janusz |
|
 | ID posta:
396667
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 17-12-2020, 15:02
|
|
|
Strony znikają, ale tekst leci ciurkiem. |
|
 | ID posta:
396708
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 17-12-2020, 15:37
|
|
|
Dorzuciłem załączniki - przykłady
t1.docx dokument uproszczony |
Pobierz Plik ściągnięto 11 raz(y) 21.42 KB |
t1-obecnie.pdf wygląd obecny |
Pobierz Plik ściągnięto 11 raz(y) 384.59 KB |
t2-makro.pdf działanie Twojego makra |
Pobierz Plik ściągnięto 12 raz(y) 390.94 KB |
t3-oczekiwanie.pdf wynik oczekiwany |
Pobierz Plik ściągnięto 16 raz(y) 391.23 KB |
|
|
 | ID posta:
396713
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 17-12-2020, 15:52
|
|
|
Cytat: | Tu nie chodzi o usuwanie linii, a stron na których nic nie ma, a służą tylko do wydruku, żeby było ładnie | - chodziło mi o mój oryginał, bo ktoś kto dostanie pdf'a nie zastanawia się a drukuje i ładnie mu wychodzi (coś w rodzaju książki)
Cytat: | To że zatytułowałem makro "UsunPusteLinie" nie oznacza że usuwa linie |
wpadłem na to od razu :) |
|
 | ID posta:
396714
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 18-12-2020, 13:12
|
|
|
Wyszło mi coś takiego, zamieszczam może ktoś skorzysta.
Zakładam, że jest to bezpieczne.
Kod: | Sub TEST_ZAMIANA()
Dim iSec%, x&, y&
With ActiveDocument
For iSec = 2 To .Sections.Count
If .Sections(iSec).PageSetup.SectionStart = wdSectionBreakEvenPage Then
x = .Sections(iSec).Range.Information(wdActiveEndAdjustedPageNumber)
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=x
Selection.InsertBreak Type:=wdSectionBreakNextPage
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Delete
y = y + 1
End If
Next iSec
End With
MsgBox "Dokonano zmian: " & y, vbInformation
End Sub |
Do: J_B
Dzięki za pomoc.
Mam tylko pytanko czy dałoby się zmodyfikować Twój kod tak, aby nie usuwał podziałów stron i sekcji. |
|
 | ID posta:
396764
|
|
|
 |
|
|
J_B
Excel Expert

Wersja: Win Office 2016
Pomógł: 541 razy Posty: 1339
|
Wysłany: 19-12-2020, 10:12
|
|
|
Nie będę odnosił się do podanego kodu byłoby dużo gadania a marny efekt
Oprócz dodania nowej sekcji to chyba nic więcej nie robi
zorroz napisał/a: | Mam tylko pytanko czy dałoby się zmodyfikować Twój kod tak, aby nie usuwał podziałów stron i sekcji. |
Sprawdź to długie makro
Kod: | Sub Zamiana()
ActiveDocument.PageSetup.SectionStart = wdSectionContinuous
End Sub
|
Jeżeli nie będzie oczekiwanego efektu to już nic więcej chyba nie wymyślę
Podejrzewam że dokument powstał na zasadzie kopiuj wklej co powoduje taki dziwny podział stron
Janusz |
|
 | ID posta:
396801
|
|
|
 |
|
|
zorroz
Exceloholic

Pomógł: 15 razy Posty: 212
|
Wysłany: 21-12-2020, 09:08
|
|
|
Wywala mi błąd: Run-time error '4608' "Wartość jest spoza dozwolonego zakresu."
Cytat: | Oprócz dodania nowej sekcji to chyba nic więcej nie robi |
u mnie działa poprawnie[/quote]
Dzięki za pomoc. |
|
 | ID posta:
396882
|
|
|
 |
|
|
J_B
Excel Expert

Wersja: Win Office 2016
Pomógł: 541 razy Posty: 1339
|
Wysłany: 21-12-2020, 12:25
|
|
|
zorroz napisał/a: | Wywala mi błąd: Run-time error '4608' "Wartość jest spoza dozwolonego zakresu." |
No tak okazuje się że to działa ale dla małych dokumentów
Przy wielu ilościach sekcji mamy ten błąd
zorroz napisał/a: | u mnie działa poprawnie |
No to super tylko się cieszyć że problem rozwiązany
Janusz |
|
 | ID posta:
396897
|
|
|
 |
|
|
|