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

  tytuł wątku:
Wątki dyskusji

DRUKOWANIE W EXCEL


otwartyotwarty rozpoczął: sewer_zdw postów: 8



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


Sortuj posty: z