napisał: sewer_zdw postów: 28
umieszczony: 9 września 2005 11:20
|
|
wełasnie o to mi chodzilo... dziekuje....!!!!
pozdraiwam
seweryn |
|
napisał: Stanislaw postów: 109
umieszczony: 9 września 2005 07:49
|
|
> musi byc okreslona sciezka do tego drugiego pliku
Tytułem uzupełnienia w związku z tym co napisał miron:
polecenie
Workbooks.Open ThisWorkbook.Path & "\" & "baza.xls"
sprawia, że skoroszyt "baza.xls" jest szukany w tym samym folderze
co skoroszyt z którego uruchomiono makro (w tym przypadku "drukuj.xls").
--
Stanislaw |
|
napisał: miron postów: 6
umieszczony: 9 września 2005 00:49
|
|
Witam,
musi byc okreslona sciezka do tego drugiego pliku. Rozwiazan jest kilka, choc roznice sa kosmetyczne. Trzymajac ta linia to proponuje napisac np.:
Sub drukuj()
Dim w
w = 2
With Workbooks("baza.xls")
.Activate
.Sheets(w).Select
.SelectedSheets.PrintOut Copies:=1
End with
With Workbooks("drukuj.xls")
.Activate
.Sheets(1).Select
End with
End Sub
gdzie "w" w Twoim przypadku to arkusz nr 2 liczac od lewej w arkuszu baza.xls. Jesli ma byc wydrukowany inny, to zmien ta liczbe.
Podczas wydruku oba pliki musza byc w tym czasie otwarte. |
|
napisał: Stanislaw postów: 109
umieszczony: 8 września 2005 23:23
|
|
> czy mozna to jakos edytowac zeby nie trzeba bylo otwierac tego drugiego pliku..?
Można wyciągać dane ze skoroszytu bez jego otwierania,
ale to sposoby bardziej skomplikowane.
Nie wiem jaki cel chcesz osiągnąć, ale mam takie rozwiązanie:
1. zapisać skoroszyt z którego dane mają być drukowane jako ukryty
2. wtedy makro
otworzy go jako ukryty
- a więc nie będzie się pojawiał wśród innych otwartych skoroszytów
wyśle dane do wydruku
zamknie ten ukryty skoroszyt
Te operacje otwierania i zamykania ukrytego skoroszytu będą niewidoczne dla użytkownika.
Aby zapisać skoroszyt jako ukryty zrób tak:
1. otwórz skoroszyt "baza.xls"
2. wybierz polecenie Okno | Ukryj
3. zamknij Excela - na pytanie "Czy zapisać zmiany w 'baza.xls'?" kliknij [Tak]
Uruchom Excela
otwórz skoroszyt "drukuj.xls"
wstaw do modułu poniższy kod
Sub Drukuj()
Dim w As Long
w = 2
Application.ScreenUpdating = False
Workbooks.Open ThisWorkbook.Path & "\" & "baza.xls"
With Workbooks("baza.xls")
.Sheets(w).PrintOut
.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
End Sub
Czy to zaspokaja Twoje potrzeby?
--
Powodzenia
Stanislaw |
|
napisał: sewer_zdw postów: 28
umieszczony: 8 września 2005 21:09
|
|
a teraz przyszlo mi do glowy takie pytanie.. czy mozna to jakos edytowac zeby nie trzeba bylo otwierac tego drugiego pliku..?
albo jakos ukryc pewne arkusze zeby dostepny byl tylko np. arkusz1 z przyciskiem drukowania bez mozliwosci wczesniejszego podejrzenia co tam sie znajduje (co sie wydrukuje) ..?
i przepraszam ze zawracam tyle glowe
pozdrawiam |
|
napisał: sewer_zdw postów: 28
umieszczony: 8 września 2005 20:44
|
|
dziekuje... widze ze twoja wiedza jest ogromna...
powodzenia |
|
napisał: Stanislaw postów: 109
umieszczony: 8 września 2005 19:15
|
|
Musisz określić w kodzie, że chodzi o skoroszyt "baza.xls"
za pomocą
Workbooks("baza.xls").Activate
i ten skoroszyt musi być otwarty, aby makro nie wyświetliło błędu.
Polecenia
w = 2
Sheets(w).Select
sprawią, że zostanie uaktywniony drugi arkusz, ale nie zawsze musi to być "Arkusz2"
Uaktywnienie skoroszytu z którego zostało uruchomione makro
ThisWorkbook.Activate
Sub Drukuj()
Dim w As Long
w = 2
Application.ScreenUpdating = False
Workbooks("baza.xls").Activate
Sheets(w).Select
ActiveWindow.SelectedSheets.PrintOut
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
--
Pozdrawiam
Stanislaw |
|
napisał: sewer_zdw postów: 28
umieszczony: 8 września 2005 17:18
|
|
witam... jestem poczatkujacym i podczas moich prob napotkalem taki oto problem.
zacznijmy od tego ze mam dwa pliki "drukuj.xls" i "baza.xls". w "drukuj.xls" chce umiescic przycisk drukowania tak by drukowal mi (arkusz2) z pliku "baza.xls" ale nie wiem jak ustawic adres do tego drugiego arkusza.prosze o pomoc. z gory dziekuje.
"Sub drukuj()
w = 2
Sheets(w).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets(1).Select
End Sub"
w ten sposob drukuje mi arkusz 2 ale z tego samego pliku z ktorego odpalam marko.a chce by drukowal mi z baza.xls odpalajac go z drukuj.xls... wiem ze to mozliwe ale nie mam pomyslu jak by to wykonac.
pozdrawiam |
|
wstecz 1 dalej wszystkich stron: 1
|