Funkcje arkuszowe VBA to funkcje Excela, dostępne w ramach obiektu VBA Worksheet.Function. Działają tak samo, jak bezpośrednio w arkuszu.
Właściwie WorksheetFunction jest częścią obiektu Application, ale jak wiele innych może być stosowany samodzielnie.
Czyli można stosować w kodzie zarówno: Application.WorksheetFunction….
jak i WorksheetFunction…
Nazwy funkcji w ramach obiektu są w języku angielskim.
Jak szybko przenieść czyli usunąć w jednym miejscu i przenieść w inne miejsce na dysku) plik? Jednym ze sposobów jest wykorzystanie obiektu FileSystem.Object.
Służy do tego metoda FileSystem.Object.MoveFile Ma ona kilka parametrów wejściowych:
Object – nazwa obiektu zdefiniowanego jako obiekt FSO. Argument obowiązkowy.
Source – nazwa pliku do skopiowania. Argument obowiązkowy, ale dozwolone są znaki zastępcze w nazwie.
Destination – nazwa pliku po przeniesieniu. Argument obowiązkowy.
Zarówno stara jak i nowa nazwa pliku musi być pełna czyli z z dokładnym podaniem dysku i katalogu.
Przykładowy kod może wyglądać tak:
Public Sub PrzeniesPlik() Dim FSO As Object Dim StaryPlik As String
Dim NowyPlik As String
StaryPlik = “C:\Folder1\plik.png”
NowyPlik = “C:\Folder2\plik.png” Set FSO = CreateObject(“Scripting.FileSystemObject”)
FSO.MoveFile StaryPlik, NowyPlik Set FSO = Nothing End Sub
Warto też wcześniej zwrócić uwagę na sprawdzenie, czy plik do przeniesienia istnieje. Jeżeli nie, to w trakcie wykonywania procedury wystąpi błąd wykonania 53.
Jak szybko skopiować dowolny plik? Sposobów jest kilka, jednym z nich jest wykorzystanie obiektu FileSystem.Object.
Służy do tego metoda FileSystem.Object.Copy Ma ona kilka parametrów wejściowych:
Object – nazwa obiektu zdefiniowanego jako obiekt FSO. Argument obowiązkowy.
Source – nazwa pliku do skopiowania. Argument obowiązkowy, ale dozwolone są znaki zastępcze w nazwie.
Destination – nazwa pliku po skopiowaniu. Argument obowiązkowy.
Overwrite – opcjonalny argument typu Boolean. Jeżeli kopiowany plik ma być zapisany pod nazwą już istniejącego pliku, wartość False nie skopiuje pliku. Domyślna wartość True, zastąpi plik plikiem kopiowany.
Przykładowy kod kopiujący plik może wyglądać tak:
Public Sub KopiujPlik() Dim FSO As Object Dim KopiowanyPlik As String
Dim NowyPlik As String
KopiowanyPlik= “C:\Wprawki\PrzykladowaBaza.accdb”
NowyPlik= “C:\NaBlogi\PrzykladowaBaza.accdb” Set FSO=CreateObject(“Scripting.FileSystemObject”)
FSO.Copy KopiowanyPlik, NowyPlik, True
Set FSO=Nothing End Sub
Scripting.FileSystemObject to obiekt służący do zarządzania plikami i folderami. Wprawdzie w kodzie VBA są dostępne proste i przyjemne funkcje Dir, MkDir itp., ale przy odwołaniach do folderów sieciowych niestety często zawodzą. Wówczas pozostaje wykorzystanie właśnie obiektu FileSystemObject, popularnie nazywanym FSO.
Obiekt ChartObject to obiekt VBA będący kontenerem do osadzonego w arkuszu wykresu.
Podstawowe metody tego obiektu to:
Add – dodawanie nowego Parametry wejściowe:
– Left As Double – położenie z lewej strony arkusza
– Top As Double – położenie od góry arkusza
– Width As Double – szerokość
– Height As Double) – wysokosć