Feb 15 2010

Wtorki z VBA cz. 17 – Zapisywanie skoroszytów

Posted by Marcin

Poza pracą z zakresami dość często przyjdzie pracować nam z plikami Excela. Dziś pokażę Wam jak zapisać otwarte skoroszyty.

Informacje o otwartych plikach są przechowywane w kolekcji Workbooks. Kolekcja ta jest kontenerem dla obiektów Workbook. Jedną z metod tego obiektu jest metoda Save, a jej użycie banalnie proste. Stwórzmy zatem makro, które zapisze wszystkie nasze otwarte skoroszyty. Plan jest następujący:

  1. Definiujemy zmienną, która będzie reprezentować obiekt Workbook.
  2. Dla każdego obiektu Workbook w kolekcji Workbooks sprawdzimy, czy skoroszyt był już zapisany i jeśli tak - zapiszemy jego bieżący stan.

Do sprawdzenia, czy skoroszyt był juz zapisany wykorzystamy właściwość Path. Zawiera ona ścieżkę dostępu do położenia pliku. Jeśli będzie ona pusta, oznacza to, że skoroszyt nie został jeszcze zapisany. Oto kod naszego makra:

 
Public Sub ZapiszPliki()
Dim Skoroszyt as Workbook
	For Each Skoroszyt In Workbooks
		If Skoroszyt.Path<>"" Then Skoroszyt.Save
	Next Skoroszyt
 

Powiązane artykuły:

Leave a Reply