Discussion:
nadpisywanie pliku excel
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
p***@tlen.pl
2006-05-13 19:42:56 UTC
Permalink
Witam Szanownych grupowiczów,
Czy da sie w jakis sposob kodem vba wymusic na arkuszu zeby zapisal juz
istniejacy plik i nie pytal "plik o podanej nazwie juz istnieje czy
chcesz go zastpic?" tylko zeby poprostu ten plik zapisal (nadpisal) juz
bez zbednych pytan?

Pozdrawiam
pibi
p***@tlen.pl
2006-05-13 20:18:10 UTC
Permalink
Moze jeszcze doprecyzuje ... arkusz jest raportem dziennym jego nazwa
jest tworzona automatycznie przez makro uruchamiane przyciskiem...
poniewaz jest to raport dzienny w nazwie pliku jest data i codziennie
jest tworzony nowy plik. Makro wykorzystuje "SaveAs" wiec pierwsze
zapisanie jest ok ale podczas dnia gdy raport jest zapisywany
przyciskiem uruchamiana jest ponownie procedura "zapisz jako..." i stad
wyskakuje ten komunikat ze "plik o podanej nazwie istnieje" Oczywiscie
zdaje sobie sprawe ze moge to zapisywac z menu poprzez klasyczne
"zapisz" ale moze istnieje jakas mozliwosc dopisania do istniejacego
kodu ciagu dalszego ktory by wymusil "zapisanie jako" nawet wowczas gdy
taki plik juz istnieje(oczywiscie z pominieciem komuniaktu.

to makro ktore tworzy nazwe pliku wyglada tak:
Sub Zapisz()
Dim Sciezka As String
Sciezka = "C:\Documents and Settings\xxx\yyy\" 'gdzie ma byc zapisany
ActiveWorkbook.SaveAs Filename:=Sciezka & "raport_" _
& Format(Date, "dd-mm-yy") & Range("K1").Text
End Sub
Tajan
2006-05-13 22:24:04 UTC
Permalink
Post by p***@tlen.pl
Sub Zapisz()
Dim Sciezka As String
Sciezka = "C:\Documents and Settings\xxx\yyy\" 'gdzie ma byc zapisany
ActiveWorkbook.SaveAs Filename:=Sciezka & "raport_" _
& Format(Date, "dd-mm-yy") & Range("K1").Text
End Sub
Spróbuj tak:

Sub Zapisz()
Dim Sciezka As String
Sciezka = "C:\Documents and Settings\xxx\yyy\" 'gdzie ma byc zapisany
Application.DisplayAlerts=False
ActiveWorkbook.SaveAs Filename:=Sciezka & "raport_" _
& Format(Date, "dd-mm-yy") & Range("K1").Text
Application.DisplayAlerts=True
End Sub

Tajan
Rafal Kwaczala
2006-05-14 08:36:07 UTC
Permalink
Post by p***@tlen.pl
Sub Zapisz()
Dim Sciezka As String
Sciezka = "C:\Documents and Settings\xxx\yyy\" 'gdzie ma byc zapisany
ActiveWorkbook.SaveAs Filename:=Sciezka & "raport_" _
& Format(Date, "dd-mm-yy") & Range("K1").Text
End Sub
...albo mozna sprawdzic czy plik istnieje i go wykasowac a nastepnie zapiac
nowy plik

<CODE>
plik="C:\Documents and Settings\xxx\yyy\raport.xls"
If Len(Dir(plik, vbDirectory)) <> 0 Then Kill plik
ActiveWorkbook.SaveAs Filename:= plik
</CODE>
--
Pozdrawiam
Rafal Kwaczala
p***@tlen.pl
2006-05-15 07:37:05 UTC
Permalink
Witam,
Dziekuje Wam bardzo Panowie :)))
Serdecznie Pozdrawiam
pibi

Loading...