vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest wtorek, 30 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

proszę o pomoc - drukowanie warunkowe - jesli plik jest otwarty


otwartyotwarty rozpoczął: sabq postów: 4



napisał: Trebor
postów: 1209


umieszczony:
22 czerwca 2012
19:32

  
I o to chodziło. Chociaż z tą obsługą błędu przesadziłeś. Wystarczy raz na początku włączyć i na końcu procedury wyłączyć. Niektórzy twierdzą, że nie trzeba na końcu wyłączać gdy procedura i tak się kończy.
napisał: sabq
postów: 2


umieszczony:
22 czerwca 2012
08:56

edytowany:
22 czerwca 2012
10:55

  
próbowałem tak ale problem polegał na tym że przełączenie pliku, arkusza i drukowanie zajmuje 3 linijki

przykład:
Windows("plik1.xls").Activate
Sheets("arkusz1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True



i nawet jesli zgłosi mi błąd przy przełączeniu na plik "plik1.xls" i arkusz "arkusz1"
to przejdzie do linijki drukowanie i wydrukuje dowolny aktywny w tej chwili arkusz

udało mi się jednak zmodyfikowac drkowanie do 1 linijki i teraz działa świetnie
dzięki za podpowiedź

dla zaintersowanych wrzucam kod
Sub drukowanie()
'
' drukowanie Makro
'
' Klawisz skrótu: Ctrl+Shift+Q
'

On Error Resume Next
Workbooks("plik1.xls").Worksheets("arkusz1").PrintOut Copies:=1, Collate:=True
On Error GoTo 0
On Error Resume Next
Workbooks("plik2.xls").Worksheets("arkusz1").PrintOut Copies:=1, Collate:=True
On Error GoTo 0
On Error Resume Next
Workbooks("plik3.xls").Worksheets("arkusz1").PrintOut Copies:=1, Collate:=True
On Error GoTo 0

On Error Resume Next
Workbooks("plik1.xls").Worksheets("arkusz1").PrintOut Copies:=1, Collate:=True
On Error GoTo 0
On Error Resume Next
Workbooks("plik2.xls").Worksheets("arkusz1").PrintOut Copies:=1, Collate:=True
On Error GoTo 0
On Error Resume Next
Workbooks("plik3.xls").Worksheets("arkusz1").PrintOut Copies:=1, Collate:=True
On Error GoTo 0
On Error Resume Next
Workbooks("plik1.xls").Worksheets("arkusz2").PrintOut Copies:=1, Collate:=True
On Error GoTo 0
On Error Resume Next
Workbooks("plik2.xls").Worksheets("arkusz2").PrintOut Copies:=1, Collate:=True
On Error GoTo 0

End Sub

napisał: Trebor
postów: 1209


umieszczony:
21 czerwca 2012
16:26

  
Najprościej będzie obsłużyć błąd np.
Sub drukuj()
On Error Resume Next
.........................PrintOut
On Error GoTo 0
End Sub


Przy błędzie procedura przejdzie do kolejnej linii
napisał: sabq
postów: 2


umieszczony:
21 czerwca 2012
13:38

  
witam

mam następujący problem

pracuję zawsze na kilku plikach na raz
jak skończe musze zrobić wydruk w odpowiedniej kolejności
przykład:
"plik 1" "arkusz 1"
"plik 2" "arkusz 1"
"plik 3" "arkusz 1"
"plik 4" "arkusz 1"
"plik 5" "arkusz 1"
"plik 1" "arkusz 2"
"plik 2" "arkusz 2"
"plik 3" "arkusz 2"
"plik 1" "arkusz 3"
"plik 2" "arkusz 3"
"plik 3" "arkusz 3"

i zrobienie tego makra nie sprawia mi żadnej trudności
pod warunkiem że wszystkie 5 plików mam otwartych
problem pojawia się jesli któryś plik nie jest otwarty bo go nie potrzebuje
i wtedy musze wydrukowac w tej samej kolejności ale tylko te pliki które są otwarte
przykład: (czerwony zamknięty i go nie drukujemy)
"plik 1" "arkusz 1"
"plik 2" "arkusz 1"
"plik 3" "arkusz 1" nie drukuje
"plik 4" "arkusz 1"
"plik 5" "arkusz 1"
"plik 1" "arkusz 2"
"plik 2" "arkusz 2"
"plik 3" "arkusz 1" nie drukuje
"plik 1" "arkusz 3"
"plik 2" "arkusz 3"
"plik 3" "arkusz 1" nie drukuje



i dlatego
potrzebuje makro które mi drukuje w tej kolejności jesli któryś z plików nie jest otwarty po prostu go pomija
czyli sprawdzi czy plik jest otwarty, jesli tak wydrukuje strone, jeśli nie przejdzie do następnego itd.

próbowałem stosowac makro iffileopen gdzieś znalezione ale niestety coś jest nie tak
z góry dzieki za pomoc


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z