A więc wygląda to tak:
Mam pliki w Excelu z wykorzystaniem VBA, plików jest kilka, każdy umieszczony w innym folderze, ale jeden z nich będący tak jakby bazą informacji dla tych umieszczonych w folderach znajduje się w katalogu głównym -zresztą jego położenie nie jest istotne. Za pomocą VBA stworzyłem kod który zabrania jednocześnie otworzyć pliki umieszczone w folderach gdyż każdy otwierany plik otwiera automatycznie tą tak zwaną bazę, kopiuje dane i wstawia do otwieranego pliku po czym zamyka ten mój plik zwany bazą.
Przy zamykaniu przechwytuję operację zamykania i kopiuję jeden z arkuszy do nowego pliku po czym go zapisuję jaką tą bazę, po czym ją zamykam i zamykam też otwarty plik. Wygląda to w ten sposób:
Teraz jednak chciałbym, aby od czasu do czasu była możliwość zapisania tych dwóch plików jednocześnie, ale jest logiczne, że jak kliknę ZAPISZ to zostanie zapisany plik a nie jednocześnie plik podstawowy i plik bazy.
Przy okazji zastanowiłem się nad tym, że gdybym chciał wykonać również ZAPISZ JAKO -też Excell powinien mi zapisać podstawowy plik i bazę.
Da się to jakoś zrobić?
Mam pliki w Excelu z wykorzystaniem VBA, plików jest kilka, każdy umieszczony w innym folderze, ale jeden z nich będący tak jakby bazą informacji dla tych umieszczonych w folderach znajduje się w katalogu głównym -zresztą jego położenie nie jest istotne. Za pomocą VBA stworzyłem kod który zabrania jednocześnie otworzyć pliki umieszczone w folderach gdyż każdy otwierany plik otwiera automatycznie tą tak zwaną bazę, kopiuje dane i wstawia do otwieranego pliku po czym zamyka ten mój plik zwany bazą.
Przy zamykaniu przechwytuję operację zamykania i kopiuję jeden z arkuszy do nowego pliku po czym go zapisuję jaką tą bazę, po czym ją zamykam i zamykam też otwarty plik. Wygląda to w ten sposób:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sciezka As String
sciezka = ActiveWorkbook.Path
Application.ScreenUpdating = False
Arkusz3.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sciezka & "\..\Baza.xlsx"
Application.DisplayAlerts = True
ActiveWorkbook.Close
Application.ScreenUpdating = True
ActiveWorkbook.Save
End SubTeraz jednak chciałbym, aby od czasu do czasu była możliwość zapisania tych dwóch plików jednocześnie, ale jest logiczne, że jak kliknę ZAPISZ to zostanie zapisany plik a nie jednocześnie plik podstawowy i plik bazy.
Przy okazji zastanowiłem się nad tym, że gdybym chciał wykonać również ZAPISZ JAKO -też Excell powinien mi zapisać podstawowy plik i bazę.
Da się to jakoś zrobić?